更新:回答
我在下面发布了我的答案,为我解决了这个问题。问题的原因与已建议的帖子完全不同。
原始问题:
我正在尝试从xib文件加载UIView,该文件被定义为ViewController。
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连接到它的所有者(viewcontroller)。该密钥是作为导致错误的密钥。然而,当我检查UIView的参考网点时,他们的信誉良好。
我尝试删除引用并重新添加它,并尝试通过为xib的视图控制器指定所有者来加载xib。仍然没有运气。
更新:参考
xib xml的连接部分:
<connections>
<outlet property="calendarView" destination="dqi-m5-FXD" id="mAV-5Y-SXl"/>
</connections>
相关代码:
答案 0 :(得分:2)
由于IBOutlet链接断开,您收到此错误。转到所选视图控制器的xib / storyboard中的outlet选项卡,然后使用&#39;!&#39;查找插座连接,删除并构建。
答案 1 :(得分:1)
试试这个:
Range("C1:O1").Offset(Lrow - 1).Merge
答案 2 :(得分:0)
解决此问题的方法如下:
这解决了我的问题。回顾过去,这种方法很有意义。正如其他答案所指出的那样,事实上,参考连接存在问题。然而,这是由于完全不同的原因而发生的,例如,意外删除参考连接。 XCode无法通过自定义类设置在视图和视图控制器之间建立不相互关联的连接。希望这可以帮助任何试图将自定义视图控制器从xib加载到另一个视图控制器的人。