loadView
當(dāng)控制器沒有使用nib視圖頁面,loadView會(huì)被調(diào)用去創(chuàng)建自己的自定義視圖層,絕不能直接調(diào)用。
viewDidLoad
該方法只會(huì)在控制器加載完view時(shí)被調(diào)用,這將會(huì)發(fā)生在當(dāng)控制器因?yàn)槟承┰蛐枰獀iew的時(shí)候。為了顯示view是這些原因中的一個(gè)。viewDidLoad通常不會(huì)被第二次調(diào)用除非這個(gè)view因?yàn)槟承┰驔]有及時(shí)加載出來。
viewWillAppear
該方法會(huì)在view要被顯示出來之前被調(diào)用。這總是會(huì)發(fā)生在ViewDidload被調(diào)用之后并且每次view顯示之前都會(huì)調(diào)用該方法。
Tips:
一個(gè)經(jīng)常容易犯的錯(cuò)誤就是把viewDidLoad方法看做是view的初始化方法,或者是每當(dāng)view需要初始化的時(shí)候就會(huì)調(diào)用viewDidLoad方法。事實(shí)上,ViewDidLoad方法只會(huì)在控制器需要view的時(shí)候才會(huì)去調(diào)用,并且只會(huì)調(diào)用一次。因而,在控制器的view在控制器需要它之前可以一直長(zhǎng)時(shí)間處于初始化狀態(tài),并且它可能在被調(diào)用一次后會(huì)駐留在后臺(tái)。在這些情況下,ViewDidLoad不會(huì)被調(diào)用。