UIApplicationMain方法解析
2017-07-11 本文已影响48人
bense100
UIApplicationMain
int UIApplicationMain (
int argc,
char *argv[],
NSString *principalClassName,
NSString *delegateClassName
);
参数
- argc:argv中元素的个数,C标准的main函数的参数
- argv:参数列表,C标准的main函数的参数
- principalClassName:必须是UIApplication或其子类的名字,如果设置为nil,默认为UIApplication
- delegateClassName:应用程序类的代理类,该函数跟据delegateClassName创建一个delegate对象,并将UIApplication对象中的delegate属性设置为delegate对象
注:在调试过程中,发现main方法中传入的argv列表中只有一个元素,指向程序的全路径名。如图:
main方法参数.png拷贝地址在finder中打开,发现test为一个可执行文件:
executable.png撸清楚了参数,我们来说说UIApplicationMain具体做了什么事情:
- 创建UIApplication对象,并指定UIApplication的代理
- 开启一个主运行循环,保证应用程序不会退出,并开始接收事件
- 加载工程的配置文件info.plist