1. 首先判断控制器是否有视图, 如果没有就调用loadView方法创建: 在此方法中可以通过storyBoard或者代码创建
2. 随后调用viewDidLoad, 进一步对视图进行初始化操作, 程序运行只会调用一次.
此时才有了view
3. 在视图显示之前调用viewWillAppear, 该函数只要有视图显示就会被调用, 该函数可以被多次调用.
view即将显示, 此时superView一般为nil, 即view还没有加到任何一个view之中
4. 视图显示完成会调用viewDidAppear, 该函数可以被多次调用.
view已经显示, 被加到另一个view中
5. 在布局变化前后调用 viewWillLayoutSubviews 或 viewDidLayoutSubviews 处理相关信息
6. 在视图消失之前调用viewWillDisappear, 该函数可以被多次调用.
view即将消失, 此时一般还没有调用removeFromSuperView
7. 在视图消失之后调用viewDidDisappear, 该函数可以被多次调用.
view从superView中移除了
8. 在收到内存警告时调用didReceiveMemoryWarning
以上是生命周期相关的函数, 控制器view的生命周期是 viewDidLoad -> viewWillAppear -> viewDidAppear -> viewWillDisappear -> viewDidDisappear -> didReceiveMemoryWarning ,view的出生到灭亡
注: viewdidunload 在iOS6 就已经过期了, 将回收内存的相关操作移到了didReceiveMemoryWarning中