iOS - viewDidLoad, viewWillDisappear, viewWillAppear區別及載入順序

來源:互聯網
上載者:User

標籤:dir   ota   where   hierarchy   ati   dea   auto   檔案   this   

 

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

 

iOS - viewDidLoad, viewWillDisappear, viewWillAppear區別及載入順序

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.