您的位置:首页 > 移动开发 > IOS开发

IOS开发概述-07.IOS程序启动原理

2015-07-28 21:08 573 查看

1.应用程序启动概述

IOS程序的入口是main函数

int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}


2.启动原理

在main函数中执行UIApplicationMain函数,内部原理如下:

执行UIApplicationMain函数

1.根据第三个参数创建UIApplication对象

2.根据第四个参数创建UIApplication对象的代理对象,并赋值给UIApplication对象的代理

3.开启主事件循环,接受处理事件,并让程序一直运行

4.加载info.plist文件,判断有没有指定main.storyboard,如果指定就去加载

UIApplicationMain函数底层解析

第一二个参数:是系统传入的参数,暂时可以忽略

第三个参数:principalClassName指定应用程序类名(app的象征),该类必须是UIApplication(或子类),若为nil,则默认传入UIApplication类名

第四个参数:delegateClassName指定应用程序类的代理或代理的子类的类名,该类必须遵守UIApplicationDelegate协议

反射机制

输入类名有提示,避免输入错误

NSStringFromClass:根据一个类名生成一个类名字符串

NSClassFromString: 根据一个类名字符串生成一个类名

3.程序启动原理图

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: