2009-06-30 163 views
1

有時,當我將ViewController推入導航控制器 時,不會調用View Controller的viewDidLoad()方法。 這導致我的應用程序崩潰。我將不勝感激任何幫助。將視圖控制器推入導航控制器

我忘了提及我在將它推入導航控制器之前從筆尖加載視圖。

謝謝, 薩拉

回答

6

viewDidLoad方法中,當圖。首先從筆尖文件加載時才調用。如果視圖已經加載並且再次按下該視圖,它將不會再次觸發。 取決於你想要做什麼,你可能想用viewWillAppearviewDidAppear來代替。

+0

viewDidLoad在ViewController初始化時也會被調用,即使根本沒有涉及到XIB。 – mmc 2009-06-30 21:29:09

+0

viewDidLoad在loadView之後立即被調用,這是第一次訪問.view屬性。 loadView的默認實現會加載一個nib文件(如果您在插入視圖控制器時提供了一個nib文件名),但您可以覆蓋loadView以在代碼中創建視圖。 – 2009-06-30 22:37:53

2

一旦視圖加載並添加到控制器的堆棧中,您將看不到再次調用該視圖。您需要將視圖彈出堆棧並再次推送才能看到它。您始終可以放心viewWillAppear將在您每次返回視圖時被調用。這可以讓你做任何可能有序的家務(我認爲這是目標)。

相關問題