加载自定义Nib时,IBOutlet会导致崩溃,即使它已连接

时间:2015-12-26 20:32:52

标签: ios xcode swift

我有一个nib ViewController,我正在使用以下代码加载到滚动视图容器中:

let friendsFeedVC = UIViewController(nibName: "FriendsFeedViewController", bundle: nil)

在FriendsFeedViewController.xib文件的故事板中,我添加了一个导航栏并将IBOutlet拖到FriendsFeedViewController.swift文件中,以便像往常一样连接插座。

当我运行应用程序并在滚动视图中加载Nib时,它会导致崩溃:

  

由于未捕获的异常'NSUnknownKeyException'而终止应用程序,原因:'[setValue:forUndefinedKey:]:此类不是键值navBar的键值编码兼容。   ***第一次抛出调用堆栈:   (0x1847b5900 0x183e23f80 0x1847b55c0 0x1850aff74 0x189817f1c 0x189972cb8 0x1846df3ac 0x1899716a0 0x18981b33c 0x1895e4250 0x1894a7d6c 0x1894a7cc4 0x100096b4c 0x100097a40 0x1894a80c0 0x1894a7cc4 0x1894aeab4 0x1894abfa0 0x189521cd0 0x1000fb904 0x1000fbae8 0x18951d704 0x18974c130 0x1897504b8 0x18974d5c0 0x185d6b790 0x185d6bb10 0x18476cefc 0x18476c990 0x18476a690 0x184699680 0x189516580 0x189510d90 0x1000fbfec 0x18423a8b8)   libc ++ abi.dylib:以NSException类型的未捕获异常终止

以下是显示IBOutlet已设置的屏幕截图。它没有被实例化吗?解决方案是什么?我已经清理了这个项目,而且我之前没有使用任何随意的插座。此外,如果我移除IBOutlet,Nib加载正常,所以问题只有在我把它连接起来时才会出现。

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

发现问题:

let friendsFeedVC = UIViewController(nibName: "FriendsFeedViewController", bundle: nil)

应该是

let friendsFeedVC = FriendsFeedViewController(nibName: "FriendsFeedViewController", bundle: nil)