UIViewController 生命周期

来源:互联网 发布:bootcamp for mac 编辑:程序博客网 时间:2024/05/22 19:12
// 视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了- (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方法只会调用一次,


我这里使用的是:

[selfdismissViewControllerAnimated:truecompletion:^{

         

    }];  这种销毁形式, 每一次的跳转Controller都会重新创建。 如果是栈的形式,只会执行一次。(在内存中,并没有销毁)


0 0