我在Xcode 4.5.2工作
我有以下问题:
当我从非空项目中创建项目时 - 即从故事板初始化视图,有时当我添加代码时
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIButton *b = [UIButton buttonWithType:UIButtonTypeRoundedRect];
b.frame = CGRectMake(20, 20, 100, 100);
[self.view addSubview:b];
到viewDidLoad方法,它在addSubview方法调用之后再次被递归调用,有时候(天空祝福)它没有。
谁能告诉我这是什么问题以及如何解决它?
我的感激之情。
答案 0 :(得分:1)
编辑:由于@WDUK正确指出,以下答案是错误的。它可以解释loadView
中的递归,而不是viewDidLoad
。
旧的,错误的答案:
调用
-[super viewDidLoad]
后发生递归调用 尚未设置view属性,然后调用self.view
。您可能只是忘记将视图连接到文件的所有者 查看插座。
答案 1 :(得分:0)
当设备耗尽可用内存时,如果视图当前不可见,则可以取消分配视图。您应该始终确保正确处理此行为。
当您使用导航或tabbarcontroller时,例如切换到另一个视图时,我可能会发生这种情况。