【发布时间】:2014-09-19 19:15:36
【问题描述】:
我正在尝试从 nib 文件中实例化一个视图控制器,如下所示:
class TNAChallengerHandler:ChallengeHandler {
var controller : ViewController
// Default initializer
init(realm iRealm: String, controller iController : ViewController) {
println("Default initializers")
self.controller = iController;
super.init(realm: iRealm)
}
// Convience initializer
convenience init() {
println("Convience initializers")
let vc = ViewController(nibName: "ViewController", bundle: nil)
self.init(realm: "SingleStepAuthRealm", controller:vc)
}
执行代码,我得到了
iOS_SingleBasedAdapterAuthentication[40828:5708548] *** Terminating app due to uncaught
exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </Users/tonytran/Library/Developer/CoreSimulator/Devices/6B797313-635F-4ABD-B3C6-A1D9DF3F1E85/
data/Containers/Bundle/Application/FDC3FD2B-6E26-4654-AC0F-ED3F44DDC5F6/iOS_SingleBasedAdapterAuthentication.app> (loaded)' with name 'ViewController''
我仔细检查了故事板,该类的自定义类已经更改为ViewController,如下所示,名称与ViewController.swift相同
对此有任何想法。这里欢迎所有的cmets。
【问题讨论】:
-
不清楚您要做什么。 ViewController 将在您的情节提要时自动实例化,因为它是导航控制器的根视图控制器。您不应该将 initWithNibName:bundle 与情节提要一起使用。
标签: ios uiviewcontroller swift