无法识别iOS xib文件IBOutlet - (类不符合键值编码)

时间:2015-10-30 05:31:35

标签: ios interface-builder xib xcode7 iboutlet

我正在运行XCode 7.1并在设备上运行(iOS 9) - (不是模拟器)。我正在按名称加载一个nib文件:

MyDetailsViewController *myDetailsVC = [MyDetailsViewController initWithNibNamed:@"MyDetails" withNotificationCenter:notificationCenter];

这只是我设置的类方法,它通过mainBundle加载xib。 xib文件只是一个UIView,里面有一个tableview,一切似乎都正常连接。但是,当从包中加载nib(viewWillAppearviewDidLoad等尚未执行)时,我收到错误:

  

NSUnknownKeyException,原因:'[MyDetailsViewController setValue:forUndefinedKey:]:这个类不是   密钥tableView'

的密钥值编码兼容

我知道我没有回到一些通用视图控制器,因为它非常清楚地说明了我们正在谈论的视图控制器。文件所有者似乎正确连接,其自定义类设置为MyDetailsViewController。即使我将鼠标悬停在代码中的IBOutlet“圆圈”上,桌面视图也会突出显示以及当我在检查插座时将鼠标悬停在菜单上时。

可能完全不相关的是xib文件中的内部错误消息,它可能与我的问题有关,也可能没有,我以前从未见过它。您从该错误中获得的日志文件的开头是:

enter image description here

任何人都可以帮我确定这里发生了什么吗?我会很感激。

这里有一些截图:

enter image description here

enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

init之前,您应首先致电alloc

// MyDetailsViewController *myDetailsVC = [MyDetailsViewController initWithNibNamed:@"MyDetails" withNotificationCenter:notificationCenter];
MyDetailsViewController *myDetailsVC = [[MyDetailsViewController alloc] initWithNibNamed:@"MyDetails" withNotificationCenter:notificationCenter];