程序的啟動(dòng)理
UIApplication對(duì)象是一個(gè)應(yīng)用程序的象征,每一個(gè)應(yīng)用中都有一個(gè)UIApplication對(duì)象,這是系統(tǒng)創(chuàng)建的,并且是一個(gè)單例的對(duì)象,整個(gè)應(yīng)用程序中只有一個(gè)。
一個(gè)iOS程序啟動(dòng)后創(chuàng)建的第一個(gè)對(duì)象就是UIApplication對(duì)象,可以通過(guò)[UIApplication shareApplication]拿到該對(duì)象。
- 一個(gè)應(yīng)用程序的啟動(dòng)原理
int main(int argc, char * argv[]) {
@autoreleasepool {
//第三個(gè)參數(shù),應(yīng)用程序?qū)ο蟮拿Q,它必須得是UIApplication或者是UIApplication它的子類,直接設(shè)置為nil,默認(rèn)就是UIApplication
//第四個(gè)參數(shù):設(shè)置UIApplication代理的名稱.
//NSStringFromClass:把類名轉(zhuǎn)成字符串.
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
//1.執(zhí)行main
//2.執(zhí)行UIApplicationMain,創(chuàng)建UIApplication對(duì)象,并設(shè)置它的代理AppDelegate
//3.開(kāi)啟一個(gè)事件循環(huán)(死循環(huán):保證應(yīng)用程序不退出),主運(yùn)行循環(huán).
//4.加載info.plist文件.加載配置信息.
//5.判斷Main storyboard file base name里面有沒(méi)有指定Main,如果指定了Main,那么它就會(huì)自動(dòng)加載指定的StoryBoard.
//6.通知應(yīng)用程序,調(diào)用代理方法.
}