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.程序启动原理图
相关文章推荐
- iOS CABasicAnimation 动画受layer.anchorPoint和layer.position 的影响
- iOS前期OC训练OC_10Block
- iOS新特性页面制作
- iOS前期OC训练OC_08,09内存管理
- IOS开发—NSTimer
- IOS中NSUserDefaults的用法(轻量级本地数据存储)
- iOS前期OC训练OC_TimeCode
- iOS前期OC训练OC_07类的扩展
- iOS操作小整理
- iOS property 参数
- ios学习(block)
- IOS被遗忘的知识
- iOS 苹果官方Demo合集
- 55.iOS6,7坐标起点不一样的原因 图片拉伸 initialize
- iOS设计模式 - 外观
- iOS 对于文件的解析 JSON DOM SAX
- iOS开发实现页面间的数据传递
- iOS 调取iPhone本地相册和开启相机
- iOS OC10_Block
- iOS7光标问题