我有一个故事板,它有2个视图控制器,包括UINavigationController本身。我在应用程序中做了一些更改,并且奇怪地出现了这个错误。
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </Users/***/Library/Developer/CoreSimulator/Devices/96021E81-BD05-4193-86ED-7F386739B99E/data/Containers/Bundle/Application/E684814B-7F84-41CE-B762-64C66A4AE4F8/***.app> (loaded)' with name '5JK-D5-ZKP-view-1nz-4p-isc''
我尝试停用大小类,但没有用。我也潜入探索故事板XML,发现5JK-D5-ZKP
是导航控制器中root view controller
的segue,而1nz-4p-isc
是UITableViewController
内的表视图,是根视图控制器。
答案 0 :(得分:1)
问题的原因是UITableViewController
子类中的自定义初始化及其方法init(coder aDecoder: NSCoder)
。由于没有覆盖那里的额外初始化方法,该覆盖大致类似于:
required init?(coder aDecoder: NSCoder) {
// Initialize fetcher
fetcher = QuestionFetcher(delegate: self)
// Call the super.init method
super.init(coder: aDecoder)
// Initialize the activity indicator for fetching questions
activityIndicator = UIActivityIndicatorView(frame: CGRect(x: tableView.frame.size.width / 2.00, y: tableView.frame.size.height / 2.00, width: 20, height: 20))
activityIndicator.hidesWhenStopped = true
activityIndicator.hidden = true
}
有什么棘手的问题,故事板中找到的签名读者会尝试拨打覆盖中找到的init?(coder: NSCoder)
,但如您所见,它是failable initializer。但是那个视图控制器没有从编码器加载,所以它失败了。