属性标签的类型为 UILabel ,是 UIViewController 中的插座。
为什么以下工作: -
[window addSubview:viewController.view];
[viewController.label setText:@"New Label"] ;
且语句的反向序列不会更改标签中的默认文本:
[viewController.label setText:@"New Label"] ;
[window addSubview:viewController.view];
是否从附加到UIViewController的UI元素加载视图?
答案 0 :(得分:3)
视图控制器在第一次请求时创建或加载视图,可以是NIB,也可以是loadView
方法。在大多数情况下,关联的子视图也只在加载主视图时创建。这意味着viewController.label
为nil
,直到您第一次尝试访问viewController.view
。
因此,如果您首先尝试设置标签文字,那么您实际上只是将该邮件发送到nil
,这就是为什么它似乎没有生效。