iOS 生命周期

ViewController生命周期

按照执行顺序排列:

  1. initWithCoder:通过nib文件初始化时触发。
  2. awakeFromNib:nib文件被加载的时候,会发生一个awakeFromNib的消息到nib文件中的每个对象。
  3. loadView:开始加载视图控制器自带的view。
  4. viewDidLoad:视图控制器的view被加载完成。
  5. viewWillAppear:视图控制器的view将要显示在window上。
  6. updateViewConstraints:视图控制器的view开始更新AutoLayout约束。
  7. viewWillLayoutSubviews:视图控制器的view将要更新内容视图的位置。
  8. viewDidLayoutSubviews:视图控制器的view已经更新视图的位置。
  9. viewDidAppear:视图控制器的view已经展示到window上。
  10. viewWillDisappear:视图控制器的view将要从window上消失。
  11. viewDidDisappear:视图控制器的view已经从window上消失。

当View本身的frame改变时,会调用LayoutSubViews方法。
注意在使用自定义视图的时候

- (void)layoutSubviews
{
    [super layoutSubviews];

    //一般控件frame都在这里进行设置,防止被到处更改,不好delete bug.
}

小记 iOS应用程序从开始到结束的各种运行状态:

Not Running (非运行状态)。应用没有运行或被系统终止。
Inactive(前台非活动状态)。应用正在进入前台状态,但不能接受事件处理。
Active(前台活动状态)。应用进入前台状态,能接受事件处理。
Background(后台状态)。应用进入后台后,依然能够执行代码。如果有可执行的代码,就会执行代码,如果没有可执行的代码或者可执行的代码执行完毕,应用会马上进入挂起状态。
Suspended(挂起状态)。处于挂起的应用进入一种“冷冻”状态,不能执行代码。如果系统内存不够,应用会被终止。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容