呈现其视图控制器时 Nib 加载失败
Nib load failure when presenting its view controller
我在继承自 NSObject
的 class 中有这个函数:
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)
行时。我在日志控制台中收到此消息:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle /MyApp.app> (loaded)' with name 'CustomDialogViewController''
我不明白发生了什么,因为 let customDialog = CustomDialogViewController(nibName: "CustomDialogViewController", bundle: bundle)
行没有崩溃,而且我似乎得到了一个 CustomDialogViewController
对象。
有人可以帮我解决这个问题吗?谢谢
当您在 XCode 之外重命名文件时,可能会发生此错误。要解决它,您只需从项目中删除文件(右键单击 - 删除并 "Remove Reference")。
然后你可以在你的项目中重新导入文件,一切就OK了。
在这种情况下,这个错误似乎是因为 xib
文件缺少适当的目标成员身份。
感谢您的回答
我在继承自 NSObject
的 class 中有这个函数:
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)
行时。我在日志控制台中收到此消息:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle /MyApp.app> (loaded)' with name 'CustomDialogViewController''
我不明白发生了什么,因为 let customDialog = CustomDialogViewController(nibName: "CustomDialogViewController", bundle: bundle)
行没有崩溃,而且我似乎得到了一个 CustomDialogViewController
对象。
有人可以帮我解决这个问题吗?谢谢
当您在 XCode 之外重命名文件时,可能会发生此错误。要解决它,您只需从项目中删除文件(右键单击 - 删除并 "Remove Reference")。
然后你可以在你的项目中重新导入文件,一切就OK了。
在这种情况下,这个错误似乎是因为 xib
文件缺少适当的目标成员身份。
感谢您的回答