如何設置視圖控制器來刷新視圖中的字段,只有當它從導航控制器視圖中彈出時纔會在導航控制器上按下並釋放對象。強制加載/卸載視圖
我的目標是,對於一個視圖控制器:
- 刷新顯示僅當導航控制器壓棧
- 釋放數據,當它被從導航控制器棧彈出
- 重用控制器儘可能地(以消除廈門國際銀行文件加載/卸載開銷)
是否有viewWillBePushed:
和的任何委託方法?
例
比方說,我有意見三層:
Movies (MovieListController)
--> Movie Basic Info (MovieInfoController)
--> Movie Credits (MovieCreditsController)
假設我們有一個類Movie
來表示每部電影。
在這裏,我想只有三個UIViewController
s,每個在程序運行時的一個實例。所以我可以對不同的電影重複使用相同的MovieInfoController
,並且類似MovieCreditsController
。
但是,我也希望MovieInfoController
只有當它被推入堆棧時才更新其視圖字段(例如標題,發佈日期等)。即使在彈出MovieCreditsController
時,實現viewWillAppear
中的顯示也會強制更新字段。
此外,我希望MovieInfoController
在彈出窗口時釋放對Movie
的引用,以及任何潛在的大對象(例如封面圖像)。在viewWillDisappear
中實施此邏輯將導致它在將堆棧上的MovieCreditsController
推送時釋放數據。
有沒有道理?我是否以錯誤的方式去做?
這實際上是我現在正在做的,只是它調用'drainFieldsInfo'而不是'setMovie:nil'。我希望有更好的東西。雖然謝謝! – notnoop 2009-08-06 02:42:17