界面生命周期
在cocoa框架中,一个界面(View)就会有一个对应控制器(ViewController)来控制界面上的组件和事件。于是乎,界面控制器就有自己的生命周期。以下是我的经验:init
对象的初始化,对于ViewController,可以不用做任何事,界面对象的初始化可以放在loadView和viewDidLoad方法进行初始化loadView
界面加载阶段,可用于构建界面和为界面布局viewDidLoad
界面加载完成阶段,同样可以构建界面和界面布局,在这里可以设置delegate和调用数据获取事件。viewDidUnload
界面卸载阶段,这个阶段一般不会被主动调用,当ViewController收到内存不足的消息时,就会被动调用这个方法,用户可以把界面元素都release掉和设置为nil。didReceiveMemoryWarning
当ViewController收到内存不足的消息时,就会被动调用这个方法,这个方法可以把一些缓存的数据清除掉。如果当前界面是disappear状态,那么调用完这个方法之后会调用viewDidUnload。viewWillAppear & viewDidAppear
这两个方法是界面被显示的时候顺序调用的,非常适合做埋点操作,也可以为当前界面做动画处理。viewWillDisappear & viewDidDisappear
这两个方法是界面被消失的时候顺便调用的,同样也是做埋点操作,也可以做动画处理。生命周期图
图片来源
评论
发表评论