我想用我的.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%匹配。
参考: 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类存在于nib的上下文中。所以这将是一个运行时动态加载问题。此外,myView确实存在。它是笔尖中的视图。
我应该只是承认并使我的nib文件与.m和.h文件具有相同的文件名吗? 有什么想法吗?
TX