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