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

iOS xib file IBOutlet not recognized - (class not key-value coding compliant)

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

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

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

NSUnknownKeyException, reason: '[MyDetailsViewController setValue:forUndefinedKey:]:This class is not key value coding-compliant for the key tableView'

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

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

谁能帮我确定这是怎么回事?我会很感激。

这里还有一些截图:

init 之前你应该先调用 alloc:

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