我不明白loadView:
函数的机制(这个函数在UIView中)。
我创建了一个项目如下:
UIView
子类UIViewController
子类,没有xib。loadView:
函数中,我将UIView对象(在我在第二步中创建的类中)指定为UIViewController
的视图变量对象(第三步)。如果我省略了最后一步,并将语句NSLog(@"test LoadView");
放在loadView:函数中,那么当项目运行时,语句NSLog(@"test LoadView");
会被连续调用,导致运行溢出。
请解释一下!谢谢!
答案 0 :(得分:15)
loadView:
时才会调用 nil
。以编程方式创建视图时使用此选项。 default:
创建一个没有子视图的UIView对象。对于前 -
- (void)loadView
{
UIView *view = [[UIView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
[view setBackgroundColor:color];
self.view = view;
[view release];
}
通过实现loadView:
方法,您可以挂钩默认的内存管理行为。如果内存不足,视图控制器可能会收到didReceiveMemoryWarning
消息。默认实现检查视图是否正在使用中。如果其视图不在视图层次结构中,并且视图控制器实现loadView:
方法,则会释放其视图。稍后当需要视图时,再次调用loadView:
方法来创建视图。
不确定为什么要使用loadView:
,但您可以在viewDidLoad:
参考 -