1. 程式人生 > >iOS檢視的生命週期

iOS檢視的生命週期

進入ViewController的標頭檔案,檢視這個提供的方法,以下列出一些有關iOS檢視生命週期的幾個方法:

  • - (void)viewDidLoad
  • - (void)viewWillAppear:(BOOL)animated
  • - (void)viewDidAppear:(BOOL)animated
  • - (void)viewWillDisappear:(BOOL)animated
  • -(void)viewDidDisappear:(BOOL)animated

那麼這些方法什麼時候執行?執行的順序又是什麼呢?

先給出一段程式碼,然後解釋:

@implementation ViewController
- (void)viewDidLoad { [super viewDidLoad]; NSLog(@"viewDidLoad"); } - (void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; NSLog(@"viewWillAppear"); } - (void)viewDidAppear:(BOOL)animated{ [super viewDidAppear:animated]; NSLog(@"viewDidAppear"); } - (void
)viewWillDisappear:(BOOL)animated{ [super viewWillDisappear:animated]; NSLog(@"viewWillDisappear"); } -(void)viewDidDisappear:(BOOL)animated{ [super viewDidDisappear:animated]; NSLog(@"viewDidDisappear"); }

當我們首次開啟應用,進入該程式碼所在的檢視時,執行的方法是:

viewDidLoadviewWillAppearviewDidAppear

當我們跳轉到另一個頁面時,執行的方法是:
viewWillDisappear

viewDidDisappear

當我們再次從另一個頁面跳轉到程式碼所在的頁面時,執行的方法好是:
viewWillAppearviewDidAppear

當然,viewDidLoad方法在頁面出現的時候是否執行取決於此時記憶體中的檢視是否還存在。