每一个view都有一个viewController。且view的生命周期也在viewController里面。因此在view释放以前,viewcontroller是不能够释放的。那viewController的生命周期究竟是怎么样的呢?和我一步一步来看吧。app
step1:initWithNib viewController 会进行alloc,并init.函数
step2: loadView 在这里会看它的子类是否有重写这个函数,若是重写了则调用子类的,不然就调用她本身的。注意,这个时候视图仍是没有没加载进来的哦。spa
step3:viewDidLoad 这个时候视图已经存在了。能够在这里添加你想要添加的UI控件了。生命周期
step4:viewWillAppear 视图将出如今屏幕上了内存
step5:viewDidAppear 视图已经成功在屏幕上渲染完成了it
step6:viewWillDisappear 视图将要消失了渲染
step7:viewDidDisappear 视图从屏幕上消失了view
step8:viewDidUnLoad 当发生内存警告的时候,若是本视图不是当前正在显示的视图,则会执行这个函数。将子视图释放。vi
step9:dealloc 释放viewControllerco
而view的生命周期则是step3~step8.