- main函数
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
-
UIApplicationMain()
函数
UIKIT_EXTERN int UIApplicationMain(int argc, char *argv[], NSString * __nullable principalClassName, NSString * __nullable delegateClassName);
-
principalClassName:
指定应用程序类名(app的象征),该类必须是UIApplication
(或子类)。如果为nil
,则用UIApplication
类作为默认值 -
delegateClassName:
指定应用程序的代理类,该类必须遵守UIApplicationDelegate
协议 -
UIApplicationMain
函数会根据principalClassName
创建UIApplication对象,根据delegateClassName
创建一个delegate
对象,并将该delegate
对象赋值给UIApplication
对象中的delegate
属性 -
接着会建立应用程序的
Main Runloop
(事件循环),进行事件的处理(首先会在程序完毕后调用delegate
对象的application:didFinishLaunchingWithOptions:
方法) -
程序正常退出时
UIApplicationMain
函数才返回
网友评论