美文网首页
ViewController生命周期

ViewController生命周期

作者: 43b86d3b5040 | 来源:发表于2017-04-10 23:28 被阅读31次

当一个视图控制器被创建,并在屏幕上显示的时候,代码的执行顺序如下:

  1. initialize 当前类第一次被使用的时候调用,该方法在整个程序运行的过程中只会执行一次,并且不需要[supuer initialize]。
  2. alloc 创建对象,分配空间。
  3. init 初始化对象,初始化数据。
  4. loadView 不需要用户主动调用,这方法是当view为nil的时候被调用。也就是说如果当当前的。ViewController接收到系统发送的didReceiveMemoryWarning事件的时候可能会把当前的。ViewCongtroller中的视图置为nil,那么当这个ViewController再次显示出来的时候就会再次调用loadView方法。
  5. viewDidLoad 视图载入完成,可以进行自定义数据以及动态创建其他控件。
  6. viewWillAppear 视图即将出现在屏幕之前。
  7. viewWillLayoutSubviews 布局子视图,比如一些控件的约束可以在这里设置。
  8. viewDidLayoutSubviews 已经布局完成子视图。经过测试,从nib文件加载的controller,只要不释放,在每次viewWillAppare时都会调用layoutSubviews方法,有时甚至会在viewDidAppare后在调用一次layoutSubviews,而重点是从代码加载的则只会在开始调用一次,之后都不会,所以注意,在layoutSubviews中写相关的布局代码十分危险
  9. viewDidAppear 视图在屏幕上渲染完成。
  10. viewVillDisappear 视图即将消失在屏幕之前。
  11. viewDidDisappear 视图消失在屏幕之后
  12. didReceiveMemoryWarning 当系统接收到系统警告的时候会发送给除正在显示的ViewController的其余ViewController该方法,以便用户释放无用内存。系统会将一些视图置nil,就会导致当再次显示该ViewController的时候,重新调用loadView和viewDidLoad方法,重新布局视图。
  13. dealoc 控制钱被销毁释放。

相关文章

网友评论

      本文标题:ViewController生命周期

      本文链接:https://www.haomeiwen.com/subject/ucoeattx.html