awakeFromNib與viewDidLoad的區別


當一個nib文件對應兩個類,File's OwnerclassCZViewControllerObjects下的View對應的爲CZView時:

【如果不好理解的話,你可以這麼理解:

           Main.storyboard關聯了ViewController類,而ViewController中有一個UIView,這個UIView對應的是類CZView。】

 

1. 用在何處?

 

awakeFromNib

CZView.m文件中有效,即只有寫在這個類文件中才會調用,寫在CZViewController.m文件中時,不會被調用。

 

viewDidLoad

寫於CZViewController.m文件中,作用同awakeFromNib

 

2.什麼時候被調用?

 

a. .nib文件被加載的時候,會發送一個awakeFromNib的消息到.nib文件中的每個對象,每個對象都可以定義自己的 awakeFromNib函數來響應這個消息,執行一些必要的操作。也就是說通過nib文件創建view對象是執行了awakeFromNib

 

b. view對象被加載到內存時,就會執行viewDidLoad,所以不管通過nib文件還是代碼的方式創建對象都會執行viewDidLoad


發佈了53 篇原創文章 · 獲贊 5 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章