筆記 iOS應用程式的啟動過程

2021-09-11 12:51:21 字數 1372 閱讀 6333

使用xcode開啟乙個專案,很容易會發現乙個檔案main.m檔案,此處就是應用的入口。

程式啟動時,先執行main函式,main函式是ios程式的入口點

int main(int argc, char * ar**) 

}複製**

int argc,

char *ar**,

nsstring *principalclassname,

nsstring *delegateclassname

}複製**

開啟事件迴圈(如果不進行迴圈,那麼在main函式結束後程式就結束了。要保證程式建立後可以一直存在)

self.window = [[uiwindow alloc] initwithframe:[uiscreen mainscreen].bounds];

uiviewcontroller *viewcontroller = [[uiviewcontroller alloc] init];

self.window.rootviewcontroller = viewcontroller;

// 此時根控制器的view還沒有加到self.window上

[self.window makekeyandvisible];

// 此時根控制器的view加到self.window上

return yes;

}複製**

首先建立視窗,得到乙個正確的uiwindow例項物件用來顯示介面(self.window是系統自帶的屬性)。接著設定視窗的根控制器。自己建立控制器,設定這個控制器為self.window的根控制器。注意這個時候根控制器的view還沒有加到self.window上,當視窗要顯示的時候,才會把視窗的根控制器的view新增到視窗。

顯示視窗:

[self.window makekeyandvisible] // 實際做了下面的事

複製**

self.window.hidden = no;

複製**

概覽

載入info.plist檔案,讀取最主要storyboard檔案的名稱

載入最主要的storyboard檔案,建立白色箭頭所指的控制器物件

並且設定上一步建立的控制器為uiwindow的rootviewcontroller屬性(根控制器)

展示uiwindow,展示之前會將新增rootviewcontroller的view到uiwindow上面(在這一步才回建立控制器的view)

[window addsubview:window.rootviewcontroller.view];

複製**

應用程式App的啟動過程

有storyboard情況下 1.執行 main 函式 3.開啟乙個主執行迴圈,保證應用程式不會退出 4.根據 info.plist 獲得 main.storyboard 的檔名,載入 main.storyboard 有storyboard的情況 建立uiwindow 建立和設定uiwindow 的...

SpringBoot 應用程式啟動過程探秘

說到接觸 springboot 伊始,給我第一映像最深的是有兩個關鍵元素 對照上面的典型 這個兩個元素分別是 注 本文首發於my personal blog,歡迎光臨小站 我們來舉乙個栗子,把我們天天司空見慣的 springboot 應用的啟動類來拆解一下寫出來 public static void...

SpringBoot 應用程式啟動過程探秘

說到接觸 springboot 伊始,給我第一映像最深的是有兩個關鍵元素 對照上面的典型 這個兩個元素分別是 注 本文首發於my personal blog,歡迎光臨小站 我們來舉乙個栗子,把我們天天司空見慣的 springboot 應用的啟動類來拆解一下寫出來 public static void...