ViewController的生命週期 -- viewDidLoad、viewWillAppear等的區別

viewDidLoad:在視圖加載後被調用,如果是在代碼中創建的視圖加載器,他將會在loadView方法後被調用,如果是從nib視圖頁面輸出,他將會在視圖設置好後後被調用。

viewWillAppear:當收到視圖在視窗將可見時的通知會呼叫的方法。默認情況下不執行任何操作

viewDidAppear:當收到視圖在視窗已可見時的通知會呼叫的方法,(視圖已完全過渡到屏幕上時調用)

viewWillDisappear:當收到視圖將去除、被覆蓋或隱藏於視窗時的通知會呼叫的方法。默認情況下不執行任何操作loadView;這是當他們沒有正在使用nib視圖頁面,子類將會創建自己的自定義視圖層。絕不能直接調用。

viewDidDisappear:當收到視圖已去除、被覆蓋或隱藏於視窗時的通知會呼叫的方法

didReceiveMemoryWarning:收到系統傳來的內存警告通知後會執行的方法

shouldAutorotateToInterfaceOrientation:是否支持不同方向的旋轉視圖

willAnimateRotationToInterfaceOrientation:在進行旋轉視圖前的會執行的方法(用於調整旋轉視圖之用)

代碼的執行順序
1、alloc創建對象,分配空間
2、init (initWithNibName) 初始化對象,初始化數據
生命週期
3、loadView從nib載入視圖,通常這一步不需要去幹涉。除非你沒有使用xib文件創建視圖
4、viewDidLoad載入完成,可以進行自定義數據以及動態創建其他控件
5、viewWillAppear視圖將出現在屏幕之前,馬上這個視圖就會被展現在屏幕上了
6、viewDidAppear視圖已在屏幕上渲染完成 當一個視圖被移除屏幕並且銷燬的時候的執行順序,這個順序差不多和上面的相反
1、viewWillDisappear視圖將被從屏幕上移除之前執行
2、viewDidDisappear視圖已經被從屏幕上移除,用戶看不到這個視圖了
3、dealloc視圖被銷燬,此處需要對你在init和viewDidLoad中創建的對象進行釋放

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章