2013-05-26 26 views

回答

4

如果你是彈出/解散它,viewDidLoad通常不會被調用,但viewDidAppear會。

此例外是iOS版本6.0以前的版本,如果您收到內存警告,您的視圖可能會被卸載,並且在您彈出時會重新加載視圖。

+0

你的意思是,如果我有一個導航堆棧1(rootViewController),2,我目前在1即1是my * topviewController *。我從1跳到2,然後回到1.是不是2被踢出內存?如果我再次從1回到2不是從** scratch **加載的viewDidLoad? – Honey

+1

你是對的,但這不是OP要求的。他問,當你從2跳回到1時,是否在1上再次調用「viewDidLoad」。但是當然,當你從中彈出時,2通常會被釋放,如果你推入新的實例,它將從頭開始重新創建2. – Rob

+0

我從來沒有這樣想過,但如果那是他所問的,我不是100%。但我想現在的評論毫無疑問。我建議你在答案中加入這個或區分。我失去了幾分鐘... – Honey

1

您可以參考此一個

Difference between viewDidLoad and viewDidAppear

viewDidLoad中被調用一次,當視圖控制器是第一 加載到存儲器中。這是您想要實例化任何實例 變量的位置,並構建可在此視圖控制器的整個生命週期內生存的任何視圖。但是,此點通常在 處尚未可見。

相關問題