程序啟動過程

lmain函數中執行了一個UIApplicationMain這個函數
l
lintUIApplicationMain(intargc, charargv[], NSStringprincipalClassName, NSString*delegateClassName);
?argc、argv:直接傳遞給UIApplicationMain進行相關處理即可
?
?principalClassName:指定應用程序類名(app的象征),該類必須是UIApplication(或子類)。如果為nil,則用UIApplication類作為默認值
?
?delegateClassName:指定應用程序的代理類,該類必須遵守UIApplicationDelegate協議

lUIApplicationMain函數會根據principalClassName創建UIApplication對象,根據delegateClassName創建一個delegate對象,并將該delegate對象賦值給UIApplication對象中的delegate屬性
l
l接著會建立應用程序的Main Runloop(事件循環),進行事件的處理(首先會在程序完畢后調用delegate對象的application:didFinishLaunchingWithOptions:方法)
l
l程序正常退出時UIApplicationMain函數才返回

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容