![](/img/trans.png)
[英]How to unload a UITabBarController when popped off a UINavigationController?
[英]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.