![](/img/trans.png)
[英]Using xib programatically setting IBOutlet and file owner results in key value coding-compliant error
[英]iOS xib file IBOutlet not recognized - (class not key-value coding compliant)
我正在运行XCode 7.1并在设备(iOS 9)-(不是模拟器)上运行。 我正在按名称加载笔尖文件,如下所示:
MyDetailsViewController *myDetailsVC = [MyDetailsViewController initWithNibNamed:@"MyDetails" withNotificationCenter:notificationCenter];
这只是我设置的一个类方法,它通过mainBundle加载了xib。 xib文件只是一个内部带有表视图的UIView
,似乎所有内容都已正确连接。 但是,当从包中加载笔尖( viewWillAppear
, viewDidLoad
等尚未执行)时,出现错误:
NSUnknownKeyException,原因:“ [MyDetailsViewController setValue:forUndefinedKey:]:此类与键tableView的键值编码不兼容”
我知道我不会再找一些通用的视图控制器了,因为它可以很清楚地说明我们在说什么视图控制器。 文件所有者似乎已正确连接,其自定义类设置为MyDetailsViewController
。 即使当我将鼠标悬停在代码中的IBOutlet“圆圈”上时,表格视图也会突出显示,并且当我在检查插座时将鼠标悬停在菜单上时。
xib文件中的内部错误消息可能是完全不相关的,它可能与我的问题有关,也可能与我的问题无关,我以前从未见过。 从该错误中获取的日志文件的开头是:
谁能帮我确定这是怎么回事? 我会很感激。
这里还有一些截图:
在init
之前,您应该先调用alloc
:
// MyDetailsViewController *myDetailsVC = [MyDetailsViewController initWithNibNamed:@"MyDetails" withNotificationCenter:notificationCenter];
MyDetailsViewController *myDetailsVC = [[MyDetailsViewController alloc] initWithNibNamed:@"MyDetails" withNotificationCenter:notificationCenter];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.