控制器View的生命周期及相关函数是什么?你在开发中是如何用的?

来源:互联网 发布:程序员工作量化 编辑:程序博客网 时间:2024/05/24 01:40

1. 首先判断控制器是否有视图, 如果没有就调用loadView方法创建: 在此方法中可以通过storyBoard或者代码创建


2. 随后调用viewDidLoad, 进一步对视图进行初始化操作, 程序运行只会调用一次.

    此时才有了view


3. 在视图显示之前调用viewWillAppear, 该函数只要有视图显示就会被调用, 该函数可以被多次调用.

    view即将显示, 此时superView一般为nil, 即view还没有加到任何一个view之中


4. 视图显示完成会调用viewDidAppear, 该函数可以被多次调用.

    view已经显示, 被加到另一个view中


5. 在布局变化前后调用 viewWillLayoutSubviews 或 viewDidLayoutSubviews 处理相关信息


6. 在视图消失之前调用viewWillDisappear, 该函数可以被多次调用.

    view即将消失, 此时一般还没有调用removeFromSuperView


7. 在视图消失之后调用viewDidDisappear, 该函数可以被多次调用. 

    view从superView中移除了


8. 在收到内存警告时调用didReceiveMemoryWarning

以上是生命周期相关的函数, 控制器view的生命周期是 viewDidLoad -> viewWillAppear -> viewDidAppear -> viewWillDisappear -> viewDidDisappear -> didReceiveMemoryWarning ,view的出生到灭亡


注: viewdidunload 在iOS6 就已经过期了, 将回收内存的相关操作移到了didReceiveMemoryWarning中


0 0
原创粉丝点击