簡體   English   中英

如何卸載彈出的視圖控制器?

[英]How to Unload a popped view controller?

使用基於導航的視圖層次結構。 我有一個根視圖控制器,當按下按鈕時,多個視圖控制器會從同一視圖分支出來。 當用戶按下UINavigationBar上的“后退”按鈕時,將彈出當前的viewcontroller,並且顯示動畫回到rootviewcontroller。

問題是,我希望視圖控制器在彈出時立即卸載。 好像它們沒有卸載,因為當我返回它們時,它們仍處於彈出狀態。

導航回到rootviewcontroller后,如何卸載Viewcontrollers?

應用程序收到低內存通知后,將調用-viewUnload

這是-didReceiveMemoryWarning的默認實現,它調用-viewUnload

您可能想要做的就是根據您的描述將要執行的操作放入-viewDidDisappear中。

當您從導航控制器中彈出一個視圖控制器時,應該不再有對該視圖控制器的引用,並且應該在那時取消分配該視圖控制器。 這應該給您預期的結果。 您可以通過在-dealloc方法中添加斷點來測試是否正在釋放視圖控制器

如果未調用dealloc,請檢查是否存在保留周期。 具體檢查子對象是否保留了視圖控制器。

在-viewDidDisappear中為什么不[自我發布]; 只需確保您有一個惰性加載器,以便在需要時可以加載回來。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM