VC控制器的生命周期

VC 是我们开发过程中最长用到的,熟悉VC的生命周期对我们处理一些事件寻找最佳的时机有极大的帮助,下面我们一起看一下VC的生命周期:
一、 loadView方法

就是当view的nib文件为nil时,手工创建视图界面时调用loadVIew;当view的nib文件存在的时候,
初始化工作在viewDidLoad中实现。但是如果你的程序运行期间内存不足,
视图控制器接到didReceiveMemoryWarning消息时,那么此时系统默认操作会检查当前视图控制器的view是否还在使用,
假如此view不在当前正在使用的view hierarchy里面,且控制器实现了loadView方法,
那么这个view将被release, loadView方法将被再次调用来创建一个新的view。  

二、 viewDidLoad方法

viewDidLoad方法在整个VC的生命周期中触发一次。这个方法大家都很熟悉,我就不再陈述。

三、viewWillAppear方法

viewWillAppear方法再VC的生命周期中可能多次被调用,每一次加载视图的都会触发该方法,
如果需要实时刷新的一些操作可以再这个方法里面进行操作,该方法再加载子视图方法之前。

四、viewWillLayoutSubviews和viewDidLayoutSubviews方法

两个方法是加载子视图的时候触发,子视图发生变化的时候就会触发这个两个方法。
viewWillLayoutSubviews只能用在ViewController里面,在view里面没有响应,应用场景:做横竖屏转换的时候会使用到。

五、viewDidAppear方法

 视图已完全过渡到屏幕上时调用viewDidAppear方法

六、viewWillDisappear方法

 视图消失回时调用,覆盖或以其他方式隐藏。默认情况下不执行任何操作。

viewDidUnload (已经被弃用)当系统内存吃紧的时候调用viewDidUnload。
题外话:混迹iOS几年 大都是再外包、创业公司 加不完的班、做不完的项目,练就一身什么功能都可以做,所有问题也可以解决的邪门歪道。现在感觉到这非常不利于自己的职业规划,想大成者,坚实的基础,广博的知识必不可少,厚积而薄发。
过时的码农 持续更新~🙈

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

推荐阅读更多精彩内容