## 应用程序启动原理
1.执行main -> 执行UIApplicationMain
2. UIApplicationMain底层实现
* 1.创建UIApplication对象
* 2.创建UIApplication代理对象
* 3.开启主要事件循环,保证程序一直运行,开始处理事件
* 4.解析info.plist,判断下有没有指定main.storyboard
3.指定main.storyboard就会加载
* 1.创建窗口(一个程序要想显示内容,必须有窗口)
* 2.加载main.storyboard(UIStoryboard),创建storyboard描述的控制器(箭头指向的控制器)
* 3.设置窗口的根控制器
* 4.显示窗口
4.UIApplication对象
* 单例:整个app下只分配一次内存
* 获取:shareApplication
* 作用:1.设置提醒数字 2.设置联网状态 3.设置状态栏 4.打电话,打开网页
5.UIApplication代理
* 代理:自己不想做的事情,就搞个代理帮我做
* 作用:1.监听应用程序生命周期方法 3.内存警告
6.窗口
* 作用:一个程序要想显示内容,必须有窗口
* 窗口创建方式:1.UIStoryboard 2.代码
* 窗口通过代码创建注意
* 1.必须要强应用
* 2.窗口要有尺寸
* 3.必须设置窗口的根控制器
* 窗口:键盘.状态栏
* 窗口层级 : alert > statusBar > normal