2011-03-08 64 views

回答

15

-viewDidUnload只保证当视图从内存中清除被调用,并UIKit框架可能会被挂在它的命令,如果用户回到那里迅速呈现视图。要在视图消失时确定性地释放抓取的结果控制器,请使用-viewWillDisappear:-viewDidDisappear:

+0

感谢您快速回答我投票,我试了一下,然后再接受,再次感谢 – Csabi 2011-03-08 10:29:47

-1

你可以从-dealloc自己拨打电话。

+0

感谢您的回答 – Csabi 2011-03-08 10:42:16

+0

有没有一个合理的理由这样做? – 2011-03-08 12:59:57

+0

要做什么?谢谢你的回答? – Csabi 2011-03-09 12:32:54

1

如果你认为你有泄漏,因为viewDidLoad没有被调用,比检查你的controller.view removeFromSuperView调用,并确保你使用removeFromParentViewController。而不是从superview中删除视图,从您的parentController中删除您的viewController。

0

我看到一些奇怪的事情发生在我的案例中:dealloc被调用,但viewDidUnload没有。

但我认为我可以忍受这种内存管理的目的,因为当时我所有的强大属性都会被释放(我正在使用ARC)。

在你的情况下,我认为你也应该检查被调用的dealloc,并在那里发布你的fetchedResultsController

相关问题