iOS-一个UIViewController的生命周期

背景:

要想完整地了解一个程序的运行,那么UIViewController的生命周期肯定是要了解清楚的。比如说,方法的执行先后顺序,什么时候创建、释放内存等都与UIViewController生命周期有关。


创建一个UIViewController代码执行顺序:

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

  2. init(initWithNibName)
    初始化对象,初始化数据

  3. loadView
    从nib(xib)中载入视图,有xib才会去自动加载

  4. viewDidLoad
    加载完成

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

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

比如一下代码,就会顺序执行上面的步骤:

HomeViewController *vc = [HomeViewController alloc] init];
[self presentViewController:vc animated:YES completion:nil]

APP运行时候的调用顺序:

  1. viewDidLoad

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

  2. viewWillAppear

    系统在载入所有数据后,将会在屏幕上显示视图,这时会先调用这个方法。通常我们会利用这个方法,对即将显示的视图做进一步的设置。例如,我们可以利用这个方法来设置设备不同方向时该如何显示。
    另外一方面,当APP有多个视图时,在视图间切换时,并不会再次载入viewDidLoad方法,所以如果在调入视图时,需要对数据做更新,就只能在这个方法内实现了。所以这个方法也非常常用。

  3. viewDidAppear

    有时候,由于一些特殊的原因,我们不能在viewWillApper方法里,对视图进行更新。那么可以重写这个方法,在这里对正在显示的视图进行进一步的设置。

  4. viewWillDisappear

    在视图变换时,当前视图在即将被移除、或者被覆盖时,会调用这个方法进行一些善后的处理和设置。

  5. viewDidDisappear

    我们可以重写这个方法,对已经消失,或者被覆盖,或者已经隐藏了的视图做一些其他操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值