使用 Xcode 8.2
和 Swift 2.3
我有一个 View Controller 文件 namVcc.swift 和 namVccUI.xib
我正在尝试从 xib 文件初始化 View Controller 但出现错误
|*|尝试 1:
let namVccVar = UINib(nibName: "namVccUI", bundle:
nil).instantiateWithOwner(nil, options: nil)[0] as! namVcc
navigationController?.pushViewController(namVccVar, animated: true)
|*|尝试 2:
let namVccVar = namVcc(nibName: "namVccUI", bundle: nil)
navigationController?.pushViewController(namVccVar, animated: true)
Error: Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle (loaded)' with name 'namVccUI'
我还检查了 xib 文件的属性 > Target Membership 并且它被选中了。
还有什么问题?
最佳答案
当我尝试设置它时,我遇到了类似但措辞略有不同的错误。我明白了
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "namVccUI" nib but the view outlet was not set.'
当我刚刚用 Try 2
中的代码和一个新的干净的 .xib 文件创建一个空项目时。我必须明确地将 .xib 文件中 UIView 的引用导出设置为文件所有者,并且我必须确保将 .xib 文件中文件所有者的自定义类设置为 namVcc。我永远无法让 Try 1
工作。
关于ios - 来自 Xib 文件错误的 Swift init ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48120170/