首页 > 代码库 > UIApplicationMain函数做了什么?
UIApplicationMain函数做了什么?
在iOS应用中,每个程序得main函数中都调用了UIApplicationMain函数。
int main( int argc, char *argv[]) { @autoreleasepool { return UIApplicationMain (argc, argv, nil , NSStringFromClass ([AppDelegate class ])); } } |
先来看看UIApplicationMain函数的原型:
int UIApplicationMain ( int argc, 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支持后台运行,系统在必要时会强行杀死不用的进程,一般这个函数不等返回进程就终止了)。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。