1、首先看main.m文件
在main.m文件中 主方法UIApplicationMain包裹在autoreleasepool中
@autoreleasepool { |
return UIApplicationMain(argc, argv, nil, NSStringFromClass([HelloWorldAppDelegate class])); |
} |
autoreleasepool块为自动引用计数系统,也是通常所说的自动释池,自动释放池为你的应用提供对象生命周期的管理,确保只要需要该对象都是存在的。通过UIApplicationMain创建了UIAplication类的实例和一个应用委托(delegate)的实例,这个delegate就是HelloWorldAppDelegate它是通过SingleView模板提供给你的,这个delegate的主要任务是提供展示应用的界面,它还有个作用是在应用显示之前执行一些配置任务;
在IOS应用中window对象是应用内容显示内容的容器,它协助分派事件和在界面端响应变化,window本身是不显示的。
调用UIApplicationMain方法也会扫描应用的info.plist文件,info.plist是一个属性文件(它结构为键值对列表),它包含一些关于应用的信息,如应用的名字,图标等