viewDidLoad, viewWillDisappear, viewWillAppear等區別及各自的加載順序

viewWillAppear: 

Called when the view is about to made visible. Default does nothing視圖即將可見時調用。默認情況下不執行任何操作

viewDidAppear: 

Called when the view has been fully transitioned onto the screen. Default does nothing視圖已完全過渡到屏幕上時調用

viewWillDisappear:

Called when the view is dismissed, covered or otherwise hidden. Default does nothing視圖被駁回時調用,覆蓋或以其他方式隱藏。默認情況下不執行任何操作

viewDidDisappear:

Called after the view was dismissed, covered or otherwise hidden. Default does nothing視圖被駁回後調用,覆蓋或以其他方式隱藏。默認情況下不執行任何操作loadView; This is where subclasses should create their custom view hierarchy if they aren't using a nib. Should never be called directly.這是當他們沒有正在使用nib視圖頁面,子類將會創建自己的自定義視圖層。絕不能直接調用。

viewDidLoad;Called after the view has been loaded. For view controllers created in code, this is after -loadView. For view controllers unarchived from a nib, this is after the view is set.

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

「initWithNibName: bundle:」載入nib檔案來初始化「loadView」載入視圖「viewDidLoad」在載入視圖至內存後會呼叫的方法「viewDidUnload」在視圖從內存中釋放後會呼叫的方法 (當內存過低,釋放一些不需要的視圖時調用)

「viewWillAppear」當收到視圖在視窗將可見時的通知會呼叫的方法

「viewDidAppear」當收到視圖在視窗已可見時的通知會呼叫的方法

「viewWillDisappear」當收到視圖將去除、被覆蓋或隱藏於視窗時的通知會呼叫的方法

「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中創建的對象進行釋放


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