UPDATE:答案从XIB到主视图控制器加载自定义视图控制器发出NSUnknownKeyException
我贴我的回答下面这解决了这个问题对我来说。问题的原因与提出的帖子完全不同。
原题:
我试图加载从它被定义为一个一个的ViewController厦门国际银行文件的UIView。
if let overlayView = (Bundle.main.loadNibNamed("CalendarViewController", owner: self, options: nil)?.first as? JTAppleCalendarView) {
self.navigationController?.view.addSubview(overlayView)
}
但是,每次运行项目时,我都会得到未知的键异常。
Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<MyApp.ViewController 0x7feac8607cc0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key calendarView.'
我在xib文件中有一个视图,我通过IBOutlet连接到它的所有者(视图控制器)。这个密钥是作为导致错误的那个给出的。但是,当我查看UIView的参考网点时,它们的信誉良好。
我试着删除引用并重新添加它,并试图通过指定所有者到xib的视图控制器来加载xib。仍然没有运气。
更新:参考文献
另外的XIB的XML的连接部分:
<connections>
<outlet property="calendarView" destination="dqi-m5-FXD" id="mAV-5Y-SXl"/>
</connections>
相关代码:
https://github.com/cooderatgit/CalendarApp
可能的重复[这是什么意思? “'NSUnknownKeyException',原因:...这个类不是关键值编码兼容的关键X”](http://stackoverflow.com/questions/3088059/what-does-this-mean-nsunknownkeyexception-reason-this- class-is-not-key-v) – dan
我经历过那篇文章。但是,在那里给出的解决方案没有帮助我解决问题 – c00der