抬头:此问题与最近的deprecation of viewDidUnload
有关。我在这个主题上看过"great" and logical answers,但显然是they were proven wrong。请谨慎行事,如您所见,这个话题非常混乱。
但是,系统会自动释放这些昂贵的资源 当视图没有附加到窗口时。剩下的记忆 大多数视图使用的都足够小,以至于它不值得 系统自动清除并重新创建视图层次结构。
所以...我可以安全地假设在iOS 6中,只要我没有将viewController的视图显式设置为nil(手动卸载),viewDidLoad
只会被调用一次viewController实例贯穿整个应用程序的生命周期?
答案 0 :(得分:7)
从iOS 6开始,您的UIViewController
子类只会收到一次viewDidLoad
,除非您编写代码将其view
设置回nil
。
但是,我不会在复杂的系统提供的视图控制器(如UIImagePickerController
)中依赖该行为。也许它将自己的view
设置为零。