我不明白其中的机制loadView:
函数(这个函数在UIView中)。
我创建了一个项目,如下所示:
- 首先,我创建了一个 iPhone 的基于窗口的项目。
- 然后,我创建了一个
UIView
子类
- 接下来,我创建了一个
UIViewController
子类,没有 xib。
- 最后,在
loadView:
我在第三步中创建的类的函数中,我将 UIView 对象(在我在第二步中创建的类中)指定为UIViewController
对象(在第三步中)。
如果我省略最后一步,并放置声明NSLog(@"test LoadView");
在loadView:函数中,那么当项目运行时,语句NSLog(@"test LoadView");
连续调用,导致运行溢出。
请给我解释一下!谢谢你!
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:
参考 -
- 为什么这个iPhone程序不调用-loadView?
-
loadView
希望这可以帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)