在拆除UIViewController时是否始终调用viewDidUnload和dealloc?

Jes*_*edc 20 cocoa-touch memory-management objective-c uiviewcontroller ios

我想知道两者是否viewDidUnloaddealloc正在总是被称为在UIViewController中拆除过程继承.是否有可能dealloc在没有viewDidUnload被调用的情况下在我的视图控制器上调用?

在任何一种情况下,如果我安全地释放属性并在两种方法中保留引用,如果两种方法都被调用就不会有问题 - 但我想知道是否有人确切知道或者可以对拆除有所了解处理.

2012年更新:很方便注意,好像iOS 6 viewDidUnload已被弃用,如果需要,应该用手动视图拆卸替换didReceiveMemoryWarning.

关于新UIView/UIViewContoller的一篇好文章及其新行为及其对joe conway博客的影响

Man*_*ath 35

viewDidUnload 每次都不会dealloc方法一样调用.viewDidUnload仅当您的应用收到内存不足警告时才会调用!

试想一下,如果你发布你的对象viewDidUnloaddealloc方法.如果两次都被调用,那么你正在释放已经释放的对象,这会导致应用程序崩溃,不是吗?viewDidUnload是Apple提供的一个地方,用于在收到低内存警告时清理内容,因为您知道在iPhone中我们有内存限制.