loadView:UIView iOS中的函数

我不明白loadView:函数的机制(这个函数在UIView中)。

我创build了一个项目如下:

  • 首先,我创build了一个iPhone的基于窗口的项目。
  • 然后,我创build了一个UIView子类
  • 接下来,我创build了一个没有xib的UIViewController子类。
  • 最后,在第三步创build的类的loadView:函数中,我将UIView对象(在第二步创build的类中)指定为UIViewController对象的视图variables(在第三步中)。

如果我省略了最后一步,并放置语句NSLog(@"test LoadView"); 在loadView:函数中,然后当项目运行时,语句NSLog(@"test LoadView"); 被连续调用,导致运行溢出。

请解释我! 谢谢!

loadView:只在视图属性nil时被调用。 以编程方式创build视图时使用此。 default:创build一个没有子视图的UIView对象。 对于前 –

 - (void)loadView { UIView *view = [[UIView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame]; [view setBackgroundColor:color]; self.view = view; [view release]; } 

通过实现loadView:方法,您可以挂钩默认的内存pipe理行为。 如果内存不足,视图控制器可能会收到didReceiveMemoryWarning消息。 默认实现检查是否正在使用视图。 如果它的视图不在视图层次结构中,并且视图控制器实现了loadView:方法,则它的视图被释放。 稍后当需要视图时,再次调用loadView:方法来创build视图。

不知道你为什么要使用loadView:但你可以在viewDidLoad:做同样的事情viewDidLoad:

参考 –

  1. 为什么这个iPhone程序不调用-loadView?
  2. 的loadView

希望这可以帮助。