UIViewControl 视图控制器生命周期执行顺序

UIViewControl  视图控制器

UIViewControl:每一个视图控制器都自带一个UIView,

UIViewControl 是所有视图控制器的父类

*  模拟系统中window的rootVC的属性的setter方法:

- (void)setWithrootVC: (UIViewController *)otherRootVC {

if (_rootVC!= otherRootVC){

[_rootVC  release];

_RootVC = [otherRootVC retain];

[ self  addsubView: otherRootVC.view];为什么在试图控制中会自带一个View,它其中的原理是这样的,在系统实现set方法中,对自身进行了一次添加View的操作

}

}

模态跳转:这个方法都需要在按钮点击关联方法中实现的

//界面跳转的模态方法

[self  presentViewController:regVC animated:NO completion:nil];

// 界面跳转之后返回的模态方法

- (void)haha{

[self  dismissViewControllerAnimated:NO completion:^{

}];

视图控制器的生命周期执行顺序:

//1、视图加载完毕

- (void)viewDidLoad{

[super viewDidLoad];

NSLog(@"视图加载完毕%s",__FUNCTION__);

}

//2、视图即将出现

- (void)viewWillAppear:(BOOL)animated{

[super viewWillAppear:animated];

NSLog(@"视图即将出现%s",__FUNCTION__);

}

//3、视图已经出现

- (void)viewDidAppear:(BOOL)animated{

[super viewDidAppear:animated];

NSLog(@"视图已经出现%s",__FUNCTION__);

}

//4、视图将会消失

- (void)viewWillDisappear:(BOOL)animated{

[super viewWillDisappear:animated];

NSLog(@"视图即将消失%s",__FUNCTION__);

}

//5、视图已经消失

- (void)viewDidDisappear:(BOOL)animated{

[super viewDidDisappear:animated];

NSLog(@"视图已经消失%s",__FUNCTION__);

}

//6、当前视图控制器被释放的时候,所执行的方法

- (void)dealloc{

//    ARC下不需要写[super dealloc];

//    MRC下需要写[super dealloc];

}

你可能感兴趣的:(UIViewControl 视图控制器生命周期执行顺序)