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];

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容