alloc
创建对象,分配内存空间
init(initwithNibName)
初始化对象,寻找有没有可用的NIB文件,如果有就可以直接使用NIB文件的视图控制器view视图(initWithCoder是一个类在IB中创建但在xocde中被实例化时被调用的.比如,通过IB创建一个controller的nib文件,然后在xocde中通过initWithNibName来实例化这个controller,那么这个controller的initWithCoder会被调用。),然后调用loadView方法,如果没有直接调用loadView方法。
loadView
无论XIB还是代码创建都会调用loadView方法,每次访问UIViewController的view(比如controller.view、self.view)而且view为nil,loadView方法就会被调用。
loadView方法做的事情:
1> 它会先去查找与UIViewController相关联的xib文件,通过加载xib文件来创建UIViewController的view。
- 如果在初始化UIViewController指定了xib文件名,就会根据传入的xib文件名加载对应的xib文件。
- 如果没有明显地传xib文件名,就会加载跟UIViewController同名的xib文件。
2> 如果没有找到相关联的xib文件,就会创建一个空白的UIView,然后赋值给UIViewController的view属性
总结一句话,苹果设计这个方法就是给我们自定义UIViewController的view用的
**loadView方法只是创建一个view,并没有将view加入内存
viewDidLoad
无论你是通过xib文件还是重写loadView方法创建UIViewController的view,在view创建完毕后,最终都会调用viewDidLoad方法。
viewWillAppear
view将要显示时执行该方法。
viewDidAppear
view显示时执行该方法。
viewWillDisappear
view将要消失时执行该方法。
viewDidDisappear
view消失时执行该方法。
delloc
视图控制器释放时执行该方法。
网友评论