viewDidUnload与viewDidDisappear

我不明白什么时候应该在viewDidUnloadviewDidDisappear实现一些东西。 两者有什么区别?

例如,我想发送一个NSNotificaton当视图控制器从视图层次结构中删除。 在这两种方法之间,从哪里发布通知?

http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIViewController_Class/Reference/Reference.html

这是参考苹果的文档:

viewDidUnload: –

当内存不足的情况下,当前视图控制器的视图不需要,系统可能会select从内存中删除这些视图。 这个方法在视图控制器的视图被释放后被调用,并且是你执行任何最后清理的机会。 如果您的视图控制器存储对视图或其子视图的单独引用,则应使用此方法来释放这些引用。 您还可以使用此方法删除对您创build的任何对象的引用,以支持视图,但现在视图不再需要的对象不再需要。

viewDidDisappear: –

通知视图控制器,其视图已从视图层次结构中删除,每次视图消失或移动到其他视图。

viewDidDisappear每当视图消失时被调用,或者当控制器的视图从内存释放时转到其他视图并调用viewDidUnload 。 (在iOS 6.0中不推荐视图在内存不足的情况下被清除,所以这个方法从来不会被调用)。