- 控制器的view什么时候创建,什么时候销毁,用导航控制器比较好讲
解。
- 1> 演示导航控制器根控制器View的生命周期(viewDidLoad这些view开头 的,称为生命周期方法)
- 通过view的生命周期方法,就知道控制器的view是懒加载的,导航 控制器有2个子控制器,先会加载第一个子控制器的view,当Push 第二个的时候,才去加载第二个控制器的view
- 2> didReceiveMemoryWarning,当控制器接收内存警告的时候调用
- 3>内存警告传递过程:手机内存不足产生事件->通知应用程序->调用应 用程序代理方法->把事件传递给窗口->窗口传给控制器->调用控制器 内存警告的方法。
- 4> 当控制器接收内容警告,会销毁没有显示的控制器的view。(图片演 示)
- 5> 调用viewWillUnload,viewDidUnload,销毁控制器的view
- 6> viewDidUnload里面一般清空显示在view里面的数据,演示非arc开发
- 为什么要清空显示view的数据:展示数据的view都不存在了,这些 数据也就没有用处了,因为数据主要是用来展示在view上的。
- 建议使用nil,清空数据,在非arc和arc都通用。arc是不能使用 release,而且非arc,self.datas = nil;做的事情更多。
- 7> didReceiveMemoryWarning会导致viewDidLoad重新调用。PPT分析
○ 当收到内存警告,导航控制器的子控制器的view有可能被干掉,他
如果没有显示的话,当下次使用这个控制器的时候就会调用。
- 8> 回顾控制器view的生命周期方法。