IOS中ViewController的生命周期

在IOS中,有两类ViewController,一类是显示内容的,比如UIViewController、UITableViewController等,同时还可以自定义继承自UIViewController的ViewController;另一类是ViewController容器,UINavigationViewController和UITabBarController等,UINavigationController是以Stack的形式来存储和管理ViewController,UITabBarController是以Array的形式来管ViewController。

view采用懒加载的方式,只有用到view时才会被创建,即才会被调用loadView->viewDidLoad这一系列函数。view的加载过程如下:

在loadView之前,是没有view的,也就是说,在这之前,view还没有被初始化。完成viewDidLoad方法后,ViewController里面就成功的加载view了。Controoller中的IBOutlet和IBAction都是一个整形常量,用来标记控件。IBOutlet是告诉Interface Builder,此实例变量被连接到nib文件(nib文件来存储构成用户界面的窗口和视图)中的view对象,IBOutlet本身不做任何操作,只是一个标记作用。IBAction同样是个标记关键字,它只能标记方法,它告诉IB用IBAction标记的方法可以被某个控件触发。

loadView方法是开始加载视图的起始方法,除非手动调用,否则在ViewController的生命周期中没特殊情况只会被调用一次。

viewDidLoad方法是我们最常用的方法的,类中成员对象和变量的初始化我们都会放在这个方法中,在类创建后,无论视图的展现或消失,这个方法也是只会在将要布局时调用一次。

viewWillAppear:视图将要展现时会调用。

viewWillLayoutSubviews:在viewWillAppear后调用,将要对子视图进行布局。

viewDidLayoutSubviews:已经布局完成子视图。

viewDidAppare:视图完成显示时调用。

viewWillDisappear:视图将要消失时调用。

viewDidDisappear:视图已经消失时调用。

dealloc:controller被释放时调用。

发布了8 篇原创文章 · 获赞 0 · 访问量 298

猜你喜欢

转载自blog.csdn.net/weixin_41703486/article/details/104986351