面经ios开发整理

iOS 生命周期

2018-08-04  本文已影响128人  隐身人

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(挂起状态)。处于挂起的应用进入一种“冷冻”状态,不能执行代码。如果系统内存不够,应用会被终止。

上一篇下一篇

猜你喜欢

热点阅读