UILabels在第一次加载视图时不会更新。

时间:2010-07-16 00:41:08

标签: ios uikit uilabel

我有UITableview s根据所选行设置另一个视图UILabel s。

在任何行的第一个选择中,视图加载空标签(没有设置),一旦我向后导航,然后当我选择一行之后它完全加载。

为什么第一次选择时没有设置标签?

我有以下代码:

NSLog(@"object at index 0 is %@", [tempArray2 objectAtIndex:0]);

self.categoryQuoteViewController.aLabel.text = [tempArray2 objectAtIndex:0];
self.categoryQuoteViewController.bLabel.text = [tempArray2 objectAtIndex:1];

NSLog(@"the first label is %@",self.categoryQuoteViewController.aLabel.text);

第一个NSLog打印该值,然后在设置后直接打印并打印标签的值为null

1 个答案:

答案 0 :(得分:1)

问题是categoryQuoteViewController的视图是懒惰加载的,这意味着在您首次在屏幕上显示视图之前,不会加载任何标签。因此,当您第一次访问categoryQuoteViewController.aLabel时,它将是nil

您可以通过访问视图控制器上的view属性来强制加载视图,如下所示:

/* Force the view to load so we can set the labels */
categoryQuoteViewController.view;