【iOS】iOS main() 简介
C 语言编写的程序,其执行入口都是 main(). 用 Objective-C 语言编写的程序也是这样。
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编程(第四版)》
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步