【iOS】iOS main() 简介
2016-04-13 16:32
525 查看
C 语言编写的程序,其执行入口都是 main(). 用 Objective-C 语言编写的程序也是这样。
main.m 中的代码如下:
代码中的 UIApplicationMain 函数会创建一个 UIApplication 对象。每个 iOS 应用都有且仅有一个 UIApplication 对象,该对象的作用是维护运行循环。一旦程序创建了某个 UIApplication 对象,该对象的运行循环就会一直持续下去,main() 的执行也会因此阻塞。
此外,UIApplicationMain 函数还会创建某个指定类的对象,并将其设置为 UIApplication 对象的 delegate。该对象的类是由 UIApplicationMain 函数的最后一个实参指定的,该实参的类型是 NSString 对象,代表的是某个类的类名。
所以在以上这段代码中,UIApplicationMain 会创建一个 AppDelegate 对象,并将其设置为 UIApplication 对象的 delegate。
在应用启动运行循环并开始接收事件前,UIApplication 对象会向其委托发送一个特定的消息,使应用能有机会完成相应的初始化工作。这个消息的名称是 application:didFinishLaunchingWithOptions:
From: 《iOS编程(第四版)》
main.m 中的代码如下:
int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); } }
代码中的 UIApplicationMain 函数会创建一个 UIApplication 对象。每个 iOS 应用都有且仅有一个 UIApplication 对象,该对象的作用是维护运行循环。一旦程序创建了某个 UIApplication 对象,该对象的运行循环就会一直持续下去,main() 的执行也会因此阻塞。
此外,UIApplicationMain 函数还会创建某个指定类的对象,并将其设置为 UIApplication 对象的 delegate。该对象的类是由 UIApplicationMain 函数的最后一个实参指定的,该实参的类型是 NSString 对象,代表的是某个类的类名。
所以在以上这段代码中,UIApplicationMain 会创建一个 AppDelegate 对象,并将其设置为 UIApplication 对象的 delegate。
在应用启动运行循环并开始接收事件前,UIApplication 对象会向其委托发送一个特定的消息,使应用能有机会完成相应的初始化工作。这个消息的名称是 application:didFinishLaunchingWithOptions:
From: 《iOS编程(第四版)》
相关文章推荐
- iOS9 - 状态栏的颜色各种问题
- iOS开发--_weak typeof(self) weakSelf = self
- iOS计算两个时间的时间差
- Reveal高级技巧(越狱设备)
- iOS PhotoBrowser - ZLThumbnailViewController 获取图片列表超过900张内存警告闪退问题
- ios Could not find Developer Disk Image
- iOS中的AlterViewController的一些总结
- iOS中的动画
- IOS 核心动画之CAKeyframeAnimation - iBaby
- 芒果iOS开发之AFNetworking3.0.4使用指南
- iOS 视频播放器小屏和全屏切换
- ios大神班学习大纲
- ios 几种数据存储方式
- IOS获取系统通讯录联系人信息
- [IOS]应用设置和用户默认设置(附Demo文件)
- 模拟post请求-->测试api是否可用-->再交给ios开发
- iOS开发的一些奇巧淫技 [转]
- iOS 证书(纯属个人笔记,很乱,不易参考,只是为了简洁)
- IOS7 导航栏适配--translucent属性设置的问题
- iOS开发 AFNetworking 3.0使用遇到的问题补充