UIViewController的生命周期及执行顺序

当一个视图控制器被创建,并在屏幕上现实的时候。代码的执行顺序:

1.alloc       创建对象,分配空间。

2.init       初始化对象,初始化数据。

3.loadView        从nib载入视图,通常这一步不需要去干涉。除非你没有使用xib文件创建视图

4.viewDidLoad   载入完成,可以进行自定义数据以及动态的创建其他空间。

5.viewWillAppear  视图将出现在屏幕之前。

6.viewDidAppear  视图在屏幕上渲染完成。

 

当一个视图被移除屏幕并且销毁的时候执行顺序:

1.viewWillDisappear  视图被移除之前。

2.viewDidDisappear   视图被移除之后。

3.dealloc        销毁视图。

 

对UIViewController中常用的方法解释及用途:

1.-(void)viewDidLoad

一个APP在载入时会先通过调用loadView方法或者载入IB中创建的初始界面的方法,将视图载入到内存中。然后会调用viewDidLoad方法来进行进一步的设置。通常,我们对于各种初始数据的载入,初始设定等很多内容,都会在这个方法中实现,所以这个方法是一个很常用,很重要的方法。

但是要注意,这个方法只会在app刚开始加载的时候调用一次,只能用来初始化设置。

 

2.-(void)viewWillAppear:(BOOL)animated

系统在载入数据之后会在屏幕上显示之前调用,对即将要显示的视图作进一步设置。例如,设备方向。

当app有多个视图时,在试图切换时,并不会重新载入viewDidLoad方法,所以对需要数据更新的话只能用这个方法。

 

3.-(void)viewDidAppear:(BOOL)animated

由于特殊原因,不能在viewWillAppear方法对视图进行更新,可以调用这个函数。

 

4.-(void)viewWillDisappear:(BOOL)animated

在视图转换时,当前视图被移除、覆盖时,调用此方法。

 

5.-(void)viewDidDisappear:(BOOL)animated

对已经消失、覆盖或者隐藏的视图,调用。

发表评论

电子邮件地址不会被公开。 必填项已用*标注