alloc ------- 分配内存空间
init -------初始化对象的数据,每次实例化都调用一次,默认在这之前会调initWithFrame;
loadView -------构建视图层级结构,可以重新设置根视图;
viewDidLoad--------视图加载完成,程序启动时只加载一次;
viewWillAppear ---------视图将要出现在屏幕上;
viewWillLayoutSubViews--------视图将要布局子视图,(用代码调整控件布局才会使用);
viewDidLayoutSubviews ---------视图布局子控件完成;
viewDidAppear --------------视图完成显示,视图已经出现在屏幕上,刷新每次都加载,都调用;
viewWillDisappear ---------------视图将要从屏幕上消失;
viewDidDisappear ----------------视图已经从屏幕上消失;
dealloc ------------------释放视图控制器;
+(load) -----------加载类的时候调用,iOS应用启动的时候会加载所有的类,最先调用load方法;
+(instanceType )initializes是在实例化类的时候,会在第一个实例加载前执行,只执行一次,如果没有向类发送消息,这个方法不执行,父类比子类线收到消息.
View Controller
生成view:
loadView
1、loadView在每一次使用self.view这个property,并且self.view为nil的时候被调用,用以产生一个有效的self.view(手工维护views,必须重写该方法)
2、view 控制器收到didReceiveMemoryWarning的消息时, 默认的实现是检查当前控制器的view是否在使用。 如果它的view不在当前正在使用的view hierarchy里面,且你的控制器实现了loadView方法,那么这个view将被release, loadView方法将被再次调用来创建一个新的view。(注:ios6.0以下 如果没有实现loadview,内存警告时不会调用viewDidUnload)
viewDidLoad
一般我们会在这里做界面上的初始化操作,比如往view中添加一些子视图、从数据库或者网络加载模型数据到子视图中
官网提供的生成view的流程图: