我不明白loadView:函数的机制(这个函数在UIView中)。
我创建了一个项目如下:
UIView子类UIViewController子类。loadView:函数中,我指定UIView对象(在我在第二步创建的类中)作为UIViewController对象的视图变量(在第三步中)。如果我省略了最后一步,并将语句NSLog(@"test LoadView");放在loadView: function中,那么当项目运行时,将连续调用语句NSLog(@"test LoadView");,结果是运行溢出。
请解释一下!谢谢!
发布于 2011-10-17 03:02:23
只有在视图属性为nil时才会调用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:中做同样多的事情
参考资料-
希望这能有所帮助。
https://stackoverflow.com/questions/7788928
复制相似问题