Controller和View的生命周期:

2017-11-22  本文已影响66人  Crazy2015

Controller和View的生命周期:

这里指的View是指Controller的View。它作为Controller的属性,生命周期在Controller的生命周期内。就是说你的Controller不能在view释放前就释放了。

图2 ViewController生命周期

view.jpg

当你alloc并init了一个ViewController时,这个ViewController应该是还没有创建view的。

ViewController的view是使用了lazyInit方式创建,就是说你调用的view属性的getter:[self view]。在getter里会先判断view是否创建,如果没有创建,那么会调用loadView来创建view。

loadView完成时会继续调用viewDidLoad。loadView和viewDidLoad的一个区别就是:loadView时还没有view。而viewDidLoad时view以及创建好了。

init—>loadView—>viewDidLoad—>viewWillApper—>viewDidApper—>viewWillDisapper—>viewDidDisapper—>viewWillUnload->viewDidUnload—>dealloc

单个viewController的生命周期

小结:
-整个控制器声明周期: viewDidLoad -> viewWillAppear -> viewWillLayoutSubviews -> viewDidLayoutSubviews -> viewDidAppear -> viewWillDisappear -> viewDidDisappear

上一篇 下一篇

猜你喜欢

热点阅读