viewDidUnload不叫一些视图控制器

问题描述:

我有一个UITabBar 2视图控制器。第一个显示一个UITableView,第二个显示一个UITextView。 当我点击第一个标签来显示tabview,并在模拟器中发出内存警告时,UITextView的didReceiveMemoryWarning被自动调用,但是viewDidUnload没有被调用。 当我点击第二个选项卡以显示textview并在模拟器中发出内存警告时,第一个视图控制器的didReceiveMemoryWarning被自动调用,并且也调用了viewDidUnload。 所以我想知道为什么没有调用第二个视图控制器的viewDidUnload方法。另外,如何让应用程序接收到内存警告消息时,不会自动调用第一个视图控制器(一个显示表视图)viewDidUnload方法。 谢谢。viewDidUnload不叫一些视图控制器

Apple文档暗示自动视图卸载仅在视图从命名的NIB文件加载时才会发生。如果UITextView视图是手动创建的,可以解释卸载。

至于第二部分,从我尝试过的方法来看,没有办法阻止自动卸载,因为它发生在基类中。如果有一种方法可以创建视图并“隐藏”它来自NIB的事实,那么可以这样做。