viewDidUnload与viewDidDisappear

问题描述 投票:6回答:2

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

例如,当视图控制器从视图层次结构中删除时,我想发送一个NSNotification。在这两种方法之间,我发布通知的位置是否重要?

https://developer.apple.com/documentation/uikit/uiviewcontroller

ios view uiviewcontroller lifecycle
2个回答
5
投票

这是参考apple的文档: -

viewDidUnload: -

当发生内存不足的情况并且不需要当前视图控制器的视图时,系统可以选择从内存中删除这些视图。在视图控制器的视图发布后调用此方法,并且您有机会执行任何最终清理。如果视图控制器存储对视图或其子视图的单独引用,则应使用此方法来释放这些引用。您还可以使用此方法删除对您为支持视图而创建的任何对象的引用,但现在视图已不再需要。

viewDidDisappear: -

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


0
投票

每当视图消失或者您转到其他视图时调用viewDidDisappear,并且当控制器的视图从内存中释放时调用viewDidUnload。 (在iOS 6.0中不推荐使用。在低内存条件下不再清除视图,因此永远不会调用此方法。)see the reference

© www.soinside.com 2019 - 2024. All rights reserved.