我正在尝试更改标签的值。
任何人都可以解释为什么以下方法调用:
[_detailLabel setStringValue:@"this is new label value"];
如果我通过viewDidLoad和viewDidAppear方法进行调用,会起作用,但它在我创建的方法中不起作用:
-(void)changeLabelValue : (NSString *) newVal {
[_detailLabel setStringValue:@"this is new label value"];
NSLog (@"Hello from changeLabelValue method");
}
请注意,当我从我的代码中的任何地方调用此方法时,会显示NSLog消息,但标签的值不会更改...
非常感谢任何帮助。
指向我的资源,我可以在这个主题上学到更多知识,也将深受理解。
问候,约翰。
答案 0 :(得分:2)
确保在调用changeLabelValue:
(或已显示视图控制器)后调用viewDidLoad
。如果您在加载视图之前调用它,_detailLabel
将为nil
,因为它尚未加载。