关于 iOS main 函数
// 程序在启动时,第一步就会执行main函数,在main函数中会执行以下操作:
int main(int argc, char * argv[]) {
@autoreleasepool {
/*
nil:UIApplication类名或者子类名称,如果为nil,就等于@"UIApplication"
NSStringFromClass([AppDelegate class]:UIApplication代理的名称
*/
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
程序启动的完整流程
1. 执行main函数
2. 执行UIApplicationMain函数
1> 指定UIApplication对象
2> 指定UIApplication的代理
3. 创建UIApplication对象,并且指定他的代理
4. **创建一个事件循环:主循环(RunLoop),并且是一个死循环,保证程序的持续运行**
5. 加载配置了所有应用程序信息的info.plist文件
1> 判断 Main storyboard file base name中有没有指定Main,即需要加载的StoryBoard文件
2> 如果指定了,就加载Main.storyboard
3> 如果没有指定的话,就会黑屏
6. 应用程序启动完毕