当前位置 : 李杰的流水账 > 技术 > linux

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 对已经消失、覆盖或者隐藏的视图,调用。

内容列表