2011-05-18 17 views

回答

1

我認爲你需要採取不同的方法來解決這個問題。

如果您有要再次運行的根視圖控制器的viewDidLoad方法中的代碼,那麼該代碼首先不應該在viewDidLoad方法中。 viewDidLoad只在視圖控制器的視圖被加載後才運行(通常在視圖控制器的生命週期中只有一次)。你可能應該把它放在視圖控制器的自己的方法中,所以你仍然可以從viewDidLoad方法中調用它。

要使代碼在您彈出到根視圖控制器時運行,您可以從根視圖控制器的viewWillAppearAnimated方法中調用該新方法,該方法在每次顯示視圖控制器的視圖時都會調用該方法。

2

你是什麼意思,「因爲這個方法沒有實現RootViewController的viewDidLoad方法」?

如果您沒有內存警告,則只會調用「viewDidLoad」一次。如果你得到一個內存警告你的viewDidLoad方法再次被調用。

您需要在「viewWillAppear」中實現您的邏輯。

也許你應該閱讀View Controller Programming Guide for iOS

UIViewController Class Reference這裏找到viewWillAppearviewDidAppear方法

相關問題