ViewController的生命周期
1.init
init函數(shù)并不會每次創(chuàng)建對象都調(diào)用渠退,只有在這個類第一次創(chuàng)建對象時才會調(diào)用,做一些類的準(zhǔn)備工作脐彩,再次創(chuàng)建這個類的對象碎乃,initalize方法將不會被調(diào)用,對于這個類的子類惠奸,如果實現(xiàn)了initialize方法梅誓,在這個子類第一次創(chuàng)建對象時會調(diào)用自己的initalize方法,之后不會調(diào)用佛南,如果沒有實現(xiàn)梗掰,那么它的父類將替它再次調(diào)用一下自己的initialize方法,以后創(chuàng)建也都不會再調(diào)用嗅回。因此愧怜,如果我們有一些和這個相關(guān)的全局變量,可以在這里進(jìn)行初始化妈拌。
2. initCoder
initCoder方法和init方法相似拥坛,只是被調(diào)用的環(huán)境不一樣,如果用代碼進(jìn)行初始化尘分,會調(diào)用init猜惋,從nib文件或者歸檔進(jìn)行初始化,會調(diào)用initCoder培愁。
3. loadView
loadView方法是開始加載視圖的起始方法著摔,除非手動調(diào)用,否則在ViewController的生命周期中沒特殊情況只會被調(diào)用一次定续。
4. viewDidLoad
viewDidLoad方法是我們最常用的方法的谍咆,類中成員對象和變量的初始化我們都會放在這個方法中,在類創(chuàng)建后私股,無論視圖的展現(xiàn)或消失摹察,這個方法也是只會在將要布局時調(diào)用一次。
5. viewWillAppear
視圖將要展現(xiàn)時會調(diào)用倡鲸。
6. viewWillLayoutSubviews
在viewWillAppear后調(diào)用供嚎,將要對子視圖進(jìn)行布局。
7. viewDidLayoutSubviews
已經(jīng)布局完成子視圖。
8. viewDidAppar
視圖完成顯示時調(diào)用克滴。
9. viewWillDisappear
視圖將要消失時調(diào)用逼争。
10. viewDidDisappear
視圖已經(jīng)消失時調(diào)用。
11. dealloc
controller被釋放時調(diào)用劝赔。