我在继承自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 8
和Swift 3
语言之前,我已经在我的一个iOS项目中工作了,但是现在当我运行应用程序时,遇到vc.present(customDialog, animated: true, completion: nil)
行时会崩溃。我在日志控制台中收到此消息:
由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'无法在bundle中加载NIB:'NSBundle /MyApp.app> (加载)'名称'CustomDialogViewController''
我不明白它发生了什么,因为let customDialog = CustomDialogViewController(nibName: "CustomDialogViewController", bundle: bundle)
行没有崩溃,似乎我得到了一个CustomDialogViewController
对象。
有人可以帮我解决这个问题吗?感谢
答案 0 :(得分:0)
重命名XCode之外的文件时,可能会发生此错误。要解决此问题,您只需从项目中删除文件(右键单击 - 删除和"删除参考和#34;)。
然后,您可以重新导入项目中的文件,一切都会好的。
答案 1 :(得分:0)
在这种情况下,此错误似乎是因为某些原因导致xib
文件缺少相应的目标成员资格。
感谢您的回答