iOS基礎知識整理之ViewController的生命周期

ViewController的生命周期

1.init

init函數(shù)并不會每次創(chuàng)建對象都調(diào)用,只有在這個類第一次創(chuàng)建對象時才會調(diào)用,做一些類的準備工作,再次創(chuàng)建這個類的對象,initalize方法將不會被調(diào)用,對于這個類的子類,如果實現(xiàn)了initialize方法,在這個子類第一次創(chuàng)建對象時會調(diào)用自己的initalize方法,之后不會調(diào)用,如果沒有實現(xiàn),那么它的父類將替它再次調(diào)用一下自己的initialize方法,以后創(chuàng)建也都不會再調(diào)用。因此,如果我們有一些和這個相關的全局變量,可以在這里進行初始化。

2. initCoder

initCoder方法和init方法相似,只是被調(diào)用的環(huán)境不一樣,如果用代碼進行初始化,會調(diào)用init,從nib文件或者歸檔進行初始化,會調(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)用,將要對子視圖進行布局。

7. viewDidLayoutSubviews

已經(jīng)布局完成子視圖。

8. viewDidAppar

視圖完成顯示時調(diào)用。

9. viewWillDisappear

視圖將要消失時調(diào)用。

10. viewDidDisappear

視圖已經(jīng)消失時調(diào)用。

11. dealloc

controller被釋放時調(diào)用。

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1.ios高性能編程 (1).內(nèi)層 最小的內(nèi)層平均值和峰值(2).耗電量 高效的算法和數(shù)據(jù)結構(3).初始化時...
    歐辰_OSR閱讀 30,260評論 8 265
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,666評論 1 32
  • ViewController是IOS開發(fā)中MVC模式中的C,ViewController是view的con...
    豆瓣菜閱讀 4,253評論 0 15
  • OC語言基礎 1.類與對象 類方法 OC的類方法只有2種:靜態(tài)方法和實例方法兩種 在OC中,只要方法聲明在@int...
    奇異果好補閱讀 4,522評論 0 11
  • 剛剛了解社會。社會是什么,是在社會規(guī)則下,乘著學習的小船,不斷開闊眼界,追尋利益,改善自己提高自己。 眼界開闊或者...
    一切都清爽閱讀 301評論 0 0

友情鏈接更多精彩內(nèi)容