回覆列表
  • 1 # 使用者8826439013687

    在iOS應用中,每個程式得main函式中都呼叫了UIApplicationMain函式。123456intmain(intargc, char*argv[]){ @autoreleasepool{returnUIApplicationMain (argc, argv, nil, ([AppDelegateclass]));}}先來看看UIApplicationMain函式的原型:123456intUIApplicationMain(intargc,char*argv[],NSString*principalClassName,NSString*delegateClassName);前面的argc和argv是ISO C標準的main函式的引數,直接傳遞給UIApplicationMain進行相關處理。principalClassName是應用程式類的名字,該類必須繼承自UIApplication類。而delegateClassName是應用程式類的代理類。如果主要nib檔案(在info.plist檔案中指定,key是NSMainNibFile)存在,就會在nib檔案物件裡尋找Application物件和連線它的delegate。此函式會根據principalClassName建立UIApplication物件,然後根據delegateClassName建立一個delegate物件,並將UIApplication物件中的delegate屬性設定為delegate物件。接著會建立應用的main runloop,進行事件的處理(首先會呼叫– application:didFinishLaunchingWithOptions:)。程式正常退出時才返回(如今iOS支援後臺執行,系統在必要時會強行殺死不用的程序,一般這個函式不等返回程序就終止了)。

  • 中秋節和大豐收的關聯?
  • 打雷該不該關機?