내 펜촉을 내 .h 및 .m 파일과 다르게 이름 지정하고 싶습니다. 나는 그 견해를 바로 그것이라고 생각합니다. 그래서 컨벤션 인 것 같은 이름으로 '컨트롤러'가 있어야하는 이유는 모르겠다. 이 작업을 수행하고 delegate, views 등이 올바르게 설정되었는지 확인하기 위해 myView.xib를로드 할 때 다음과 같은 런타임 경고가 표시됩니다. 그러나 모든 것이 예상대로 실행됩니다. 나는 경고를 놓고두고 싶지 않다. 어떻게 제거합니까?인터페이스 빌더 파일의 알 수없는 클래스 myView
Unknown class myView in Interface Builder file
myView.xib
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<string>myViewController</string>
<string>UIResponder</string>
<string>myView</string>
나는이 오류 및 답변 또는 시나리오 100 % 없음에 관련된 모든 스레드를 통해 보았다
@interface myViewController
myViewController.h/m 시합.
참조 : Unknown class MyOldClass in Interface Builder file - 내 경우에는 grep에서 myView에 대한 참조가 있음을 보여줍니다. 나는이 myViewController에 이름을 바꾸면 나는 다음과 같은 얻을 :
-[myViewController _setViewDelegate:]: unrecognized selector sent to instance 0x186550
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[myViewController _setViewDelegate:]: unrecognized selector sent to instance 0x186550'
참조 : "Unknown class <MyClass> in Interface Builder file" error at runtime
내가이 스레드에 대한 아이디어와 함께 연주하고 작동하지 않았다. -all_load -ObjC 플래그는 오류를 해결하지 않습니다. KeepAlive 해킹도 마찬가지입니다.
그러나 링크 오류라고 생각하지 않습니다. myView 클래스는 펜촉의 컨텍스트에 존재합니다. 따라서 런타임 동적로드 문제가됩니다. 또한 myView도 존재합니다. 펜촉의 견해입니다.
내 nib 파일의 이름을 .m 및 .h 파일과 동일하게 지정해야합니까? 의견이 있으십니까?
.xib -> 파일 소유자 -> ID 관리자 표시 -> 사용자 정의 클래스 -> 클래스의 클래스는 무엇입니까? – Nekto
Inspector에서 클래스는 myViewController입니다. – vesselhead
파일 소유자가 잘못 되었다면 앱이 예상대로 실행되지 않습니다. 그것은 흥미로운 것입니다. 모든 것이 정상적으로 실행됩니다. 그러나 오류는 항상 디버거에 나타납니다. – vesselhead