UIViewController 生命周期
2015-06-14 13:38
369 查看
// 视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了 - (void)viewWillAppear:(BOOL)animated{ NSLog(@"LifeViewController--viewWillAppear--每次显示都被调用,在视图切换的时候,需要修改一些数据的时候,常常调用"); } // 视图已在屏幕上渲染完成 - (void)viewDidAppear:(BOOL)animated{ NSLog(@"LifeViewController--viewDidAppear--视图已经完成,每次都调用"); } // 视图将要被销毁的时候 - (void)viewWillDisappear:(BOOL)animated{ NSLog(@"LifeViewController--viewWillDisappear---将要销毁时候调用,不回每次调用"); } // 视图已经被摧毁 - (void)viewDidDisappear:(BOOL)animated{ NSLog(@"LifeViewController--viewDidDisappear---销毁时候调用,可能根据业务可以保存一些数据,用于下次恢复"); } // 视图被销毁,此处需要对你在init和viewDidLoad中创建的对象进行释放 - (void)dealloc{ NSLog(@"LifeViewController--dealloc----创建的对象进行释放"); }
在UIViewController进行跳转中, 其中A跳到B,相互对应的分别也就是
ViewController---viewWillDisappear---将要销毁时候调用,每次调用
2015-06-14 13:37:38.425 AppUI组件学习[2144:94396] LifeViewController--viewWillAppear--每次显示都被调用,在视图切换的时候,需要修改一些数据的时候,常常调用
2015-06-14 13:37:38.927 AppUI组件学习[2144:94396] LifeViewController--viewDidAppear--视图已经完成,每次都调用
2015-06-14 13:37:38.928 AppUI组件学习[2144:94396] ViewController---viewDidDisappear---销毁时候调用,可能根据业务可以保存一些数据,用于下次恢复
其中需要注意的是只有
self.window.rootViewController 这个controller只会初始化一次的,viewDidLoad方法只会调用一次,
我这里使用的是:
[self
dismissViewControllerAnimated:true
completion:^{
}]; 这种销毁形式, 每一次的跳转Controller都会重新创建。 如果是栈的形式,只会执行一次。(在内存中,并没有销毁)
相关文章推荐
- UIViewController中各方法调用顺序及功能详解(2)
- UIViewController中各方法调用顺序及功能详解(1)
- IOS的生命周期问题
- iOS UIViewController生命周期8个函数
- UIViewController生命周期
- iOS ViewController生命周期
- Leetcode[63]-Unique Paths II
- Android中workerthread与UIthread同时访问同一资源造成ConcurrentModificationException解决参考
- Leetcode[62]-Unique Paths
- ios上 更改 状态栏(UIStatusBar)的颜色
- UITextField类学习
- poj3080 Blue Jeans
- 简述UIControl事件的用法
- Epic - Snake Sequence
- 【LeetCode】Implement Stack using Queues 解题报告
- WebRequest 对象的使用
- Distinct Subsequences
- Unique Paths
- looper、handler、messagequeue 总结
- Distinct Subsequences