无法在名称中加载NIB:'5JK-D5-ZKP-view-1nz-4p-isc'

时间:2016-02-27 21:03:31

标签: ios swift uistoryboard nsbundle

我有一个故事板,它有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-iscUITableViewController内的表视图,是根视图控制器。

1 个答案:

答案 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。但是那个视图控制器没有从编码器加载,所以它失败了。