1

我有一個導航控制器,而我似乎無法理解的一件事是爲什麼當我彈出一個視圖控制器時,它不會被釋放。釋放與導航控制器相關的視圖控制器

當我將它添加到導航控制器時,我釋放它,這對我來說意味着現在導航控制器負責管理視圖控制器。

但是,當我彈出導航控制器時,我可以看到彈出的視圖控制器仍然四處遊走。我知道這是因爲通知觀察員仍在執行。

此外,我試圖從視圖中刪除導航控制器,釋放並將其設置爲零,但仍然我的視圖控制器掛起。

無論彈出窗口還是釋放導航控制器本身,何處以及如何將視圖控制器形成導航控制器?

謝謝。

回答

2

你提到的通知觀察員......在視圖控制器加入到再通知中心?如果是這種情況,我認爲通知中心正在保留視圖控制器。在viewWillDisappear中將其作爲觀察者移除,然後在dealloc中拋出一個NSLog並查看它現在是否正確釋放。

+0

這是正確的,我沒有管理通知中心的參考,我的壞! – Daniel 2012-04-28 10:21:20