0
我想知道什么时间是完全创建UIViewController的.view属性。UIviewcontroller - 视图属性何时实例化?
我创建了一个视图控制器,并在init(编码器:aDecoder)我开始建立一些变量。当我试图设置viewController.view.backgroundColor它崩溃。 我在viewDidLoad中放置了相同的代码行,它工作。
这是我的代码
class WebViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
println("didload")
self.view.backgroundColor = UIColor.redColor()
}
required init(coder aDecoder: NSCoder) {
println("init Coder")
super.init(coder: aDecoder)
self.tabBarItem.title = nil
//self.view.backgroundColor = UIColor.redColor() // CAUSE CRASH
}
}
这是错误:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Could not load NIB in bundle: 'NSBundle </Users/Mari/Library/Developer/CoreSimulator/Devices/A9CC10D9-409E-4604-A6F7-B3729E0B3D52/data/Containers/Bundle/Application/F5DFDFE6-87B9-40AF-A26B-7B5A1506D203/test.app> (loaded)' with name '9pv-A4-QxB-view-tsR-hK-woN''
期间
初始化编码器的VC被实例化,标签栏可以设置导致它从根视图控制器的(一个标签栏控制器),但该视图是VC的一个属性,因此在初始化过程中,尚未准备好设置。我对吗?
so ...什么时候视图属性被exactely实例化? 什么时候设置它的最佳时机?
viewDidLoad中,顾名思义,是视图加载到内存后立即调用,所以这是做你的看法额外设置的最佳场所。 – rdelmar 2014-11-03 15:55:08