呈现其视图控制器时,笔尖加载失败

时间:2016-10-22 15:40:11

标签: ios swift3 xib xcode8 awakefromnib

我在继承自NSObject

的类中使用此函数
open func showCustomDialogInView(vc: UIViewController) {
    let bundle = Bundle(for: CustomDialogViewController.self)
    let customDialog = CustomDialogViewController(nibName: "CustomDialogViewController", bundle: bundle)
    customDialog.delegate = vc
    customDialog.modalPresentationStyle = UIModalPresentationStyle.overCurrentContext
    vc.present(customDialog, animated: true, completion: nil)
}

在更新为Xcode 8Swift 3语言之前,我已经在我的一个iOS项目中工作了,但是现在当我运行应用程序时,遇到vc.present(customDialog, animated: true, completion: nil)行时会崩溃。我在日志控制台中收到此消息:

  

由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'无法在bundle中加载NIB:'NSBundle /MyApp.app> (加载)'名称'CustomDialogViewController''

我不明白它发生了什么,因为let customDialog = CustomDialogViewController(nibName: "CustomDialogViewController", bundle: bundle)行没有崩溃,似乎我得到了一个CustomDialogViewController对象。

有人可以帮我解决这个问题吗?感谢

2 个答案:

答案 0 :(得分:0)

重命名XCode之外的文件时,可能会发生此错误。要解决此问题,您只需从项目中删除文件(右键单击 - 删除和"删除参考和#34;)。

然后,您可以重新导入项目中的文件,一切都会好的。

答案 1 :(得分:0)

在这种情况下,此错误似乎是因为某些原因导致xib文件缺少相应的目标成员资格。

感谢您的回答