更新:回答
我在下面发布了我的答案,它为我解决了这个问题。问题的原因与建议的帖子完全不同。
原始问题:
我正在尝试从定义为 ViewController 的 xib 文件加载 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>
相关代码: