UIApplicationMain函数的原型

每一个应用程序的入口不容置疑都是Main函数,每一个Main函数都会调用UIApplicationMain函数,UIApplicationMain函数到底做了什么,几个参数代表什么意思

先来看看UIApplicationMain函数的原型

按住Option键,点击这个方法

UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]))

进入官方帮助文档,查看函数原型

int UIApplicationMain(int argc, char *argv[], NSString *principalClassName, NSString *delegateClassName);


argc(argument count)   程序的运行参数个数
argv(argument vector)  程序的 运行参数的字符串数组

argc和argv是ANSI C标准的Main函数参数

principalClassName 指定应用程序类名,该类必须是UIApplication类或UIApplication子类

delegateClassName 指定应用程序的代理类

此函数会根据principalClassName创建UIApplication对象,根据delegateClassName创建delegate对象,并将UIApplication对象中delegate属性设置为delegate对象,接着建立应用程序的main runloop进行事件的处理。

如果Info.plist文件的key值存在Main storyboard file base name,就会在storyboard文件对象里找到UIApplication对象,并且连接它的delegate,如果Info.plist文件的key值不存在Main storyboard file base name,就会调用delegate对象的didFinishLaunchingWithOptions:方法

程序正常退出时,UIApplicationMain函数才返回


什么是UIApplication类

UIApplication对象是应用程序的象征,所以每一个应用程序都有自己的UIApplication对象,而且是单例的,利用UIApplication对象可以做一些应用级别的操作,UIApplication对象也是应用程序创建的第一个对象。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值