我是新來的iOS,想知道如何正確實現視圖控制器卸載/重新加載。卸載/重新加載視圖控制器的正確方法
現在我的應用程序有一個NavigationController,它具有設置爲根視圖控制器的MainMenuViewController(自定義視圖控制器)。在應用程序生命週期中,新的ViewController在導航控制器上按下/彈出。這工作正常,第一次將它們推入堆棧時,會啓動相應的ViewController(來自NIB)。
但是,我現在要卸載一個特定的ViewController,當它被彈出時,然後重新加載它時再次推動它。
我已經添加了一個[self release]
該ViewControllers viewDidDisappear:
它卸載,但是當我嘗試再次推視圖,我得到一個消息發送到dealloc'ed實例錯誤和崩潰。因此,我的問題是:
- 這是一個正確的方式來卸載一個彈出的ViewController?
- 如何檢查給定的ViewController是否加載?
- 如何強制重新加載?用
loadWithNib:
,然後推入導航堆棧?
問候,
彼得
感謝對你的答案,但你給出的例子是我的情況太簡單了 - 我要決定哪些viewcontrollers到的dealloc,當(有時,甚至當它被彈出,我希望它保存它的狀態,所以當用戶返回時,它會立即引起)。現在我已經解決了這個問題,並設置了MainView控制器作爲通知中心的觀察者 - 而其他視圖控制器發佈通知,如果他們想要被解除分配或從堆棧中彈出。 – 2011-04-15 05:00:29
我真的不知道你在做什麼,但我仍然會推薦閱讀和理解文檔。根據需要開始簡單並增加複雜性,事情正在發揮作用。祝你好運。 – XJones 2011-04-15 06:16:00