Interface Builder文件中的未知类myView

时间:2011-09-06 19:37:09

标签: iphone ios runtime-error

我想用我的.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

1 个答案:

答案 0 :(得分:0)

您可以查看my solution in this thread,我仔细检查了我的所有类在其.m文件中都指定了相应的@implementation。