iPhone loadView 和 viewDidLoad的区别

loadView 和 viewDidLoad 是 iPhone 开发中肯定要用到的两个方法。 他们都可以用来在视图载入的时候初始化一些内容。 但是他们有什么区别呢?

    viewDidLoad 方法只有当 view 从 nib 文件初始化的时候才被调用。viewDidLoad 用于初始化,加载时用到。

    loadView 方法在控制器的 view 为 nil 的时候被调用。 此方法用于以编程的方式创建 view 的时候用到。loadView 是使用代码生成视图的时候,当视图第一次载入的时候调用的方法。用于使用(写)代码来实现控件。用于使用代码生成控件的函数。如:

1 - ( void ) loadView {
2      UIView *view = [ [ UIView alloc] initWithFrame:[ UIScreen
3  mainScreen] .applicationFrame] ;
4  [ view setBackgroundColor:_color] ;
5      self.view = view;
6  [ view release] ;
7  }

 

    你在控制器中实现了 loadView 方法,那么你可能会在应用运行的某个时候被内存管理控制调用。 如果设备内存不足的时候, view 控制器会收到 didReceiveMemoryWarning 的消息。 默认的实现是检查当前控制器的 view 是否在使用。 如果它的 view 不在当前正在使用的 view hierarchy 里面,且你的控制器实现了 loadView 方法,那么这个 view 将被 release, loadView 方法将被再次调用来创建一个新的 view。

posted @ 2012-05-14 11:26  妙笔  阅读(154)  评论(0编辑  收藏  举报