使用Xcode 8.2
和Swift 2.3
我有一个视图控制器文件namVcc.swift和namVccUI.xib
我正在尝试从xib文件初始化视图控制器但是收到错误
| * |试试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)
错误:由于未捕获的异常'NSInternalInconsistencyException'而终止应用程序,原因:'无法在bundle中加载NIB:'NSBundle(已加载)',名称为'namVccUI'
我还检查了xib文件的属性>目标会员资格并且已经过检查。
还有什么问题?
答案 0 :(得分:1)
当我尝试设置时,我得到一个类似但略有不同措辞的错误。我得到了
由于未捕获的异常而终止应用 'NSInternalInconsistencyException',原因:' - [UIViewController _loadViewFromNibNamed:bundle:]加载了“namVccUI”笔尖,但未设置视图插座。'
当我用Try 2
中的代码和一个新的,干净的.xib文件创建一个空项目时。我必须在.xib文件中明确地将UIView的引用插座设置为文件所有者,并且我必须确保.xib中文件所有者的自定义类设置为namVcc。我永远无法让Try 1
工作。