2009-09-01 146 views
0

MyController * myViewController = [[MyController alloc] initWithNibName:@“myView”bundle:nil];UIViewController第一次不工作

nib文件myView.nib有2个图像浏览和2个uilabels。当我第一次启动myViewController时,所有4个子视图都被设置为0x0。 第二次我没有得到这样的行为。

回答

0

您可能忘记将您的笔尖文件中的视图连接到MyController的view属性,和/或将子视图连接到MyController的各种IBOutlets

+0

如何将nib文件中的视图挂接到View Controller的视图属性? – Minar 2009-09-11 09:51:44

3

视图对象本身不会被创建,直到通过self.view引用并调用loadView为止。这可能是您第一次尝试检查视图或对其执行某些操作时尚未发生的情况,第二次可能是在系统创建视图后再添加到另一个视图或导航控制器中,或者一些东西。

0

凯芙拉绝对是对的。您可以强制装载视图,并在下面的语句设置的所有引用:

if (myViewController.view); 

它什么也不做,除非你会得到所有子视图势必网点。

+0

这个声明是如何工作的?你能解释一下吗? – Minar 2009-09-11 09:52:39

+0

这是空的陈述。 访问myViewController.view会自动加载视图,这是一个窍门。 – 2009-09-15 11:10:08

+0

'[myViewController view];'可能更好,因为它不会触发任何编译时错误。 – mahboudz 2014-03-10 20:53:18

相关问题