一 沒(méi)有storyboard文件
?1,調(diào)用main 函數(shù)
2 調(diào)用applicationmain 函數(shù)
3,創(chuàng)建application對(duì)象,appDelegate對(duì)象
4,設(shè)置application對(duì)象的代理為appDelegate
5,appdelegate對(duì)象監(jiān)聽系統(tǒng)時(shí)間,開啟運(yùn)行循環(huán)
6,程序啟動(dòng)完成調(diào)用application: didFinishLaunchingWithOptions:方法中創(chuàng)建:
1,創(chuàng)建uiwindow ,控制器, window 的跟控制器 ,windowkeyand visible。
二、 有storyboard文件
? ? ? ? ? ? ?1.調(diào)用main函數(shù)。
? ? ? ? ? ? ?2.調(diào)用UIApplicationMain
????????????3.創(chuàng)建UIApplication對(duì)象 、 AppDelegate對(duì)象
? ? ? ? ? ? 4.設(shè)置UIApplicatio對(duì)象的代理是AppDelegate對(duì)象。
? ? ? ? ? ? ?5.AppDelegate對(duì)象開始監(jiān)聽"系統(tǒng)事件(應(yīng)用程序的事件)",進(jìn)入"事件循環(huán)"
? ? ? ? ? ? ?6.程序啟動(dòng)完畢后調(diào)用 application: didFinishLaunchingWithOptions:方法。
? ? ? ? ? ? ? 7.在application: didFinishLaunchingWithOptions:方法中創(chuàng)建: ? ? ? ? ? ? ? ? ? ? ? ? ?
?????????????????* 系統(tǒng)自動(dòng)創(chuàng)建UIWindow對(duì)象。
? ? ? ? ? ? ? ? ?* 根據(jù)Info.plist文件配置(Main Interface),找到需要加載的storyboard文件(Main.storyboard)
? ? ? ? ? ? ? ? ? * 找到Main.storyboard中的Is Initial View Controller 對(duì)應(yīng)的控制器類, 創(chuàng)建該控制器對(duì)象。
? ? ? ? ? ? ? ? ? ?* 根據(jù)storyboard中的配置, 創(chuàng)建控制器對(duì)應(yīng)的view。
? ? ? ? ? ? ? ? ? ? * 設(shè)置UIWindow的根控制器(rootViewController)為剛才創(chuàng)建的控制器。
? ? ? ? ? ? ? ? ? ? * 顯示UIWindow([self.window makeKeyAndVisible])。