UIViewController的生命週期

一、初始化順序

1.alloc: 創建ViewController對象,分配空間

2.init(initWithNibName):初始化ViewController本身

3.loadView: 當view需要被展示而它卻是nil時,viewController會調用該方法。不要直接調用該方法。

如果手工維護views,必須重載重寫該方法;如果使用IB維護views,必須不能重載重寫該方法

4.viewDidLoad: 執行完loadView後繼續執行viewDidLoad,loadView時還沒有view,而viewDidLoad時view已經創建好了。可以進行自定義數據以及動態創建其他控件

5.viewWillAppear: 視圖將出現在屏幕之前,馬上這個視圖就會被展現在屏幕上了

6.viewDidApper: 視圖已在屏幕上渲染完成


二、移除順序

1.viewWillDisappear:      視圖將被從屏幕上移除之前執行

2.viewDidDisappear :     視圖已經被從屏幕上移除,用戶看不到這個視圖了

3.viewDidUnload:當系統內存吃緊的時候會調用該方法

4.dealloc :視圖被銷燬,此處需要對你在init和viewDidLoad中創建的對象進行釋放,釋放資源和內存

三、視圖轉換

此爲切換視圖時代碼運行順序:

1. FirstViewController viewDidLoad

2. FirstViewController viewWillAppear

3. FirstViewController viewDidAppear

4. SecondViewController viewDidLoad

5. FirstViewController viewWillDisappear

6. SecondViewController viewWillAppear

7. SecondViewController viewDidAppear

8. FirstViewController viewDidDisappear


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