一、ViewController的基本概念
ViewController是iOS开发中MVC模式中的C,ViewController是View(视图)的Controller(控制器),ViewController的职责主要包括管理内部各个View的加载显示和卸载,同时负责与其他ViewController的通信和协调。
在iOS中,有两类ViewController:
二、ViewController生命周期中涉及的各种方法:
(void)loadView
:加载view。
这个方法中,要正式加载View了,控制器 view 是通过懒加载的方式进行加载的,即用到的时候再加载。在 view 加载过程中首先会调用 loadView 方法,在这个方法中主要完成一些关键 view 的初始化工作,接下来就是加载 view,加载成功后,会接着调用 viewDidLoad 方法。在 loadView 之前,是没有 view 的,也就是说,在这之前,view 还没有被初始化。此方法在控制器的view为nil的时候被调用。
注意:如果 loadView 没有加载 view,即为 nil,viewDidLoad 会一直调用 loadView 加载 view,因此构成了死循环,解决办法用[super loadView]
(void)viewDidLoad
进行一些比如控件的初始化之类的操作。
注意:这个方法在视图销毁之前只会调用一次.想调用第二次除非视图已经销毁.然后重新创建.
(void)viewWillAppear:(BOOL)animated {}
添加一些即将要显示出来的内容(现在没有显示出来),这个方法的首次调用是在viewDidLoad创建了视图并且马上将要显示的时候.(注意,这个时候并没有显示).所以我们进行一些比如导航栏的设置可以选择在这个时机.在这个时机更改的属性由于并没有显示,所以用户不会注意到,但是,如果比如我们push到第二个页面,然后pop回来.我们就不会走viewDidLoad,而是直接从这个方法回来.