码迷,mamicode.com
首页 > 移动开发 > 详细

UIApplicationMain函数做了什么?

时间:2014-07-22 22:59:32      阅读:231      评论:0      收藏:0      [点我收藏+]

标签:os   文件   io   re   c   div   

在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支持后台运行,系统在必要时会强行杀死不用的进程,一般这个函数不等返回进程就终止了)。

UIApplicationMain函数做了什么?,布布扣,bubuko.com

UIApplicationMain函数做了什么?

标签:os   文件   io   re   c   div   

原文地址:http://www.cnblogs.com/zhepama/p/3861253.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!