ios程序执行顺序
main函数运行
创建application
设置application代理
代理实现didFinishLaunchingWithOptions方法
代理创建window (默认透明)
创建控制器,并设置为window的主控制器
将控制器的view显示在window上(默认透明)
首先调用控制器的loadview方法,如果重写,但在重写中不定义view,系统将提示Application windows are expected to have a root view controller at the end of application launch (所以如果重写,一定要在这里定义)如果在loadView中调用[super loadView]相当于没有重写loadView方法
如果不重写loadview方法,将按一下顺序执行, — storyborad —指定xib —同名不带contrlerxib ,同名xib
iOS 5 - 6 之间 当系统发出内存警告 控制器会调用 viewWillUnload 方法 如果控制器的视图没有在视图树上就可以被销毁, viewDidUnload 在这个方法中销毁控制器的数据