程序的啟動(dòng)過程&View創(chuàng)建的優(yōu)先級(jí)

當(dāng)啟動(dòng)一個(gè)程序的時(shí)候,程序的啟動(dòng)過程是這樣的.

加載main函數(shù)-->加載UIApplicationMain函數(shù),根據(jù)UIApplicationMain創(chuàng)建UIApplication對(duì)象和UIApplication的Delegate對(duì)象,啟動(dòng)主循環(huán)-->

  • 1.沒有storyboard時(shí):
    -->調(diào)用application: didFinishLaunching方法-->創(chuàng)建和設(shè)置UIWindows的rootViewController-->顯示窗口
  • 2.有storyboard時(shí):
    -->根據(jù)Info.plist加載最主要的storyboard-->創(chuàng)建和設(shè)置UIWindows的rootViewController-->顯示窗口


初始化一個(gè)控制器的時(shí)候,可能從代碼創(chuàng)建一個(gè)view,可能從storyboard創(chuàng)建,也可能從xib中加載一個(gè)view.三者有一定的優(yōu)先級(jí)順序.

  • 1.第一優(yōu)先級(jí)是loadView函數(shù).
  • 2.第二優(yōu)先級(jí)是storyboard.
  • 3.優(yōu)先級(jí)最低的是xib文件,當(dāng)前兩者都不存在時(shí)才會(huì)根據(jù)NibName加載view.
    對(duì)于沒有設(shè)定NibName的xib文件,系統(tǒng)會(huì)優(yōu)先尋找默認(rèn)為"XXXView.xib"名稱的view,其次尋找默認(rèn)名稱為"XXXViewController.xib"名稱的view.當(dāng)以上都沒有的情況下,系統(tǒng)最終會(huì)創(chuàng)建一個(gè)空的view顯示出來.

由于筆者知識(shí)有限,如有錯(cuò)誤,歡迎指出。

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

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

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