Я хотел назвать свое перо иначе, чем мои .h и .m файлы. Я думаю о представлении как об этом. Так что я не понимаю, почему «Контроллер» должен быть в названии, которое кажется соглашением. Когда я делаю это и проверяю, что делегаты, представления и т. Д. Установлены правильно, я получаю следующее предупреждение во время выполнения, когда загружаю myView.xib; Однако все работает так, как ожидалось. Я не люблю оставлять предупреждения в прошлом. Как мне от этого избавиться?
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>
myViewController.h / м
@interface myViewController
Я просмотрел все связанные темы по этой ошибке, и ни один из ответов или сценариев не соответствует 100%.
Ссылка:
Неизвестный класс MyOldClass в файле Interface Builder - в моем случае 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'
Ссылка:
Ошибка «Неизвестный класс в файле Interface Builder» во время выполнения
Я играл с идеями в этой теме, и это не сработало. -all_load -ObjC флаги не устраняют ошибку. Также KeepAlive не взламывает.
Однако я не думаю, что это ошибка ссылки. Класс myView существует в контексте пера. Так что это будет проблема динамической загрузки во время выполнения. Кроме того, MyView существует. Это вид в перо.
Должен ли я просто признать и сделать так, чтобы у моего файла nib было то же имя файла, что и у файлов .m и .h?
Какие-нибудь мысли?
ТХ