// 接收到内存警告的时候调用
- (void)didReceiveMemoryWarning{
[superdidReceiveMemoryWarning];
}
ARC:
1.viewDidLoad
2.viewWillAppear
3.viewWillLayoutSubviews
4.viewDidLayoutSubviews
5.viewDidAppear
6.viewWillDisappear
7.viewDidDisappear
非ARC:
- (void)viewWillUnload{}
- (void)viewDidUnload{
// 清空没有必要的数据
self.datas = nil;
}
loadView:在Controller的view为nil时调用
viewDidLoad:在view从nib文件初始化的时候调用
view的控制器默认会注册memory warning notification,当controller的view没有用的时候,viewDidUnload会被调用,实现将retain的view release
viewController的声明周期
要点总结:
1 viewContorller的view使用懒加载的方式
2 loadView和viewDidLoad的区别在于:loadView时view还没有生成;viewDidLoad时,view已经生成了。loadView只会被调用一次,而viewDidLoad可能会被调用多次(View可能会被加载多次)
3 viewDidLayoutSubviews在以下情况会调用:
1、init初始化会触发layoutSubviews2、addSubview会触发layoutSubviews3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化4、滚动一个UIScrollView会触发layoutSubviews5、旋转Screen会触发父UIView上的layoutSubviews事件6、改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件