[ios] “ViewController라는 클래스에 대한 정보를 찾을 수 없습니다”

이 버그는 Xcode (4.6.3)를 사용하기 시작한 이후로 불쾌했습니다. 스토리 보드 항목을 코드에 연결하려고 할 때마다 오류가 발생합니다.

이름이 ViewController 인 클래스에 대한 정보를 찾을 수 없습니다.

이것은 커스텀 클래스에서도 발생합니다. 나는 다음과 같은 방법을 시도했다.

  • 델리게이트 데이터 삭제
  • 클래스 제거 및 다시 추가
  • Xcode를 다시 시작합니다.
  • Xcode 재설치

수업이 무엇이든 상관없이 프로젝트에서 연결을 만들기 위해 Ctrl 키를 누른 채 끌 수 없습니다. 새로운 템플릿 응용 프로그램에서도 동일한 문제가 발생합니다. 코드를 수동으로 입력 한 다음 Ctrl 키를 누른 상태에서 드래그하면 작동하는 연결을 만들 수 있지만 자동으로 추가 할 수는 없습니다. 지금까지 인터넷에서 찾을 수 없었던 것은 아무것도 없었습니다. 어떤 포인터?



답변

이 문제를 해결 한 것은 실제로 프로젝트에서 클래스를 삭제하는 것이 었습니다.

단계 :

  1. 프로젝트 파일 탐색기 (왼쪽 패널)에서 클래스를 찾아 마우스 오른쪽 버튼으로 클릭-> 삭제
  2. 참조를 제거하십시오 (수업을 잃을 수 있으므로 휴지통으로 이동하지 마십시오)
  3. 클래스가 포함 된 폴더를 마우스 오른쪽 버튼으로 클릭-> 파일 추가 …
  4. 파일 시스템에서 방금 삭제 한 클래스 찾기

이것은 Xcode가 클래스를 스토리 보드에 다시 연결하도록 강제하는 것 같습니다.

참고 : 나를 위해 다음은 작동 하지 않았습니다 .

  • Xcode 닫기
  • 프로젝트 청소
  • 스토리 보드에서 수업 이름을 삭제하고 다시 입력

나는 이것이 애플의 버그라고 생각한다.


답변

누구든지 여전히 이것에 의해 좌절을 느끼면 일을 처리하는 비법이 있습니다.

내가하는 일은 클래스에 콘센트를 수동으로 입력하는 것입니다 (예 :). 코드 에서 IB 또는 스토리 보드의 뷰로 @IBOutlet weak var someView: UIView!드래그 하십시오 . 그런 다음 IB / 스토리 보드에서 수업으로 드래그하여 연결할 수 있으며 보조 편집자는 “자동”등으로 수업을 인식합니다.

매번 작동합니다.


답변

오른쪽 열의 대상 멤버십에서 해당 멤버를 제거하고 다시 추가하면 속임수가되었습니다.
여기에 이미지 설명을 입력하십시오


답변

때때로 Xcode는 VC가 클래스 파일을 참조하지 않기 때문에 발생합니다. 이를위한 간단한 해결책은 다음과 같습니다.

주어진대로 수동으로 속성을 작성하십시오.

class YourClassName{

     @IBOutlet weak var YourTableName: UITableView!

}

이렇게하면 @IBOutlet 앞에 빈 링크 기호가 만들어 지고 보조 편집기에서 프로젝트를 연 다음 링크 기호를 클릭 여기에 이미지 설명을 입력하십시오하고 연결할보기로 드래그 하십시오 (TableView에 연결되어 있음). 그리고 그게 다야. 행복한 코딩을 즐기십시오!


답변

2017 년 4 월 Xcode 8 에서이 문제가 발생했습니다.

코드를 통해 콘센트를 만들고 컴파일하면 간단합니다. 예 :

@IBOutlet weak var containerViewHeight: NSLayoutConstraint!

Xcode를 좋아해야합니다…

편집 : Xcode 9에서 여전히 발생


답변

다음 단계는 저에게 효과적입니다.

1- Xcode를 닫은 후 프로젝트를 다시 열어야합니다.

2- 프로젝트 파일 색인 생성을 기다립니다

3- 작동 여부 확인

4- 그래도 작동하지 않으면 5 단계를 따르십시오.

5- 프로젝트 타겟 정리 및 구축

여기에 이미지 설명을 입력하십시오


답변

나는 모든 것을 시도했지만 작동하지 않았으므로 나를 위해 일한 것은 다음과 같습니다.

  • 빌드 폴더 및 프로젝트를 정리하십시오.
  • 프로젝트 열기 (윈도우-> 프로젝트)
  • 목록에서 프로젝트를 찾아 파생 데이터를 삭제하십시오.
  • Xcode 닫기
  • 컴퓨터를 다시 시작합니다 (열린 창을 다시 열지 않고)
  • Xcode를 실행
  • 작업!

내 모든 뷰 컨트롤러가 인식되지 않았으므로 모든 파일을 삭제하고 다시 추가하는 것은 큰 프로젝트이므로 옵션이 아닙니다.