知识小总结七 (Controller 的生命周期)☀️

是什么?

作为MVC设计模式中的C,Controller一直扮演着项目开发中最重要的角色,它是视图和数据的桥梁,通过它的管理,将数据有条有理的展示在我们的View层上。只要是个对象,就一定要有生命周期,UIViewController也不例外,生命周期管理Controller的作用范围和时间,也管理其内对象的作用范围和时间。
初始化对象,初始化数据:
init (initWithNibName)```

######从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图:   

loadView```

载入完成,可以进行自定义数据以及动态创建其他控件:
viewDidLoad```

######布局时调用: 

updateViewConstraints,viewWillLayoutSubviews,viewDidLayoutSubviews```

当controller作为一个子视图控制器被添加或被移除时调用:
willMoveToParentViewController:
didMoveToParentViewController:```

######视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了:

viewWillAppear: ```

视图已在屏幕上渲染完成:
viewDidAppear:```

######视图将被从屏幕上移除之前执行 :

viewWillDisappear:```

视图已经被从屏幕上移除,用户看不到这个视图了:
viewDidDisappear:```

- 当视图从界面添加或移除时调用。如:一个看小说的页面,我们希望关闭小说后,再次打开可以显示在上次关闭时的位置。就可以在`viewWillDisappear:`方法保存滚动到的位置,在`viewWillAppear:`方法设置滚动的位置

######当视图控制器收到内存警告时调用。如果内存使用过高,会被iOS系统杀掉你的APP,也就是闪退:

didReceiveMemoryWarning```


当一个VC被导航控制器push时: pop时:
willMoveToParentViewController: willMoveToParentViewController: (pop时参数为nil)
viewWillAppear: viewWillDisappear:
updateViewConstraints updateViewConstraints
viewWillLayoutSubviews viewWillLayoutSubviews
viewDidLayoutSubviews viewDidLayoutSubviews
viewDidAppear: viewDidDisappear:
didMoveToParentViewController: didMoveToParentViewController:(pop时参数为nil)

推荐阅读更多精彩内容

  • 翻译自“Collection View Programming Guide for iOS” 0 关于iOS集合视...
    lakerszhy阅读 2,364评论 1 21
  • 翻译自“View Controller Programming Guide for iOS”。 1 定义子类 使用...
    lakerszhy阅读 1,247评论 0 5
  • 每天工作,脑袋都在输出。依靠的是以往的底子。依靠学生时代学来的知识。 但是,所学知识赶不上时代的脚步。日益更新的常...
    梦一凡阅读 47评论 0 0
  • 我爱你 如春风遇上秋月 不知归途 我爱你 如夏雨满载星辉 不知匆匆 我问我自己 我爱你什么 是爱你的温文尔雅 或者...
    旅岸阅读 109评论 9 11
  • 初夏的阳光还是那么温和 那散落在园子里的小花,随风轻摇 采一把插花,愿得时光不轻扰 摘一朵蒲公英,让它吹散在风里 ...
    流水生活阅读 64评论 0 1