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