在ViewController 1中,我调用一个函数“changeButtonMessage”,它在ViewController 2中,它应该改变UILabel的文本。正在调用该函数(NSLog正常工作),但标签未被更改。谢谢你的帮助。
ViewController 1
loadingViewController *controller;
controller = [[loadingViewController alloc] init];
NSString *mymsg = [NSString stringWithFormat: @"Loading"];
[controller changeButtonMessage:mymsg];
ViewController 2
@property (nonatomic, retain) IBOutlet UILabel *loadingtxt;
- (IBAction)changeButtonMessage:(id)sender;
@synthesize loadingtxt;
-(void)changeButtonMessage: (NSString*) newMessage {
loadingtxt.text = newMessage;
NSLog(@"Change label to %@",newMessage);
}
答案 0 :(得分:0)
如果尚未访问UIViewController.view属性,则已创建对象(alloc,init),但实际上未加载视图且尚未加载其子视图。
loadingtxt可能是零。您可以通过调试或NSLog来验证它。
在UIViewController上调用loadView或viewDidLoad之前它将无效
如何创建视图控制器? StoryBoard? Nib文件?