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几年 大都是再外包、创业公司 加不完的班、做不完的项目,练就一身什么功能都可以做,所有问题也可以解决的邪门歪道。现在感觉到这非常不利于自己的职业规划,想大成者,坚实的基础,广博的知识必不可少,厚积而薄发。
过时的码农 持续更新~🙈