在另一个View控制器中调用函数

时间:2012-03-21 15:37:06

标签: xcode viewcontroller

在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);

}

1 个答案:

答案 0 :(得分:0)

如果尚未访问UIViewController.view属性,则已创建对象(alloc,init),但实际上未加载视图且尚未加载其子视图。

loadingtxt可能是零。您可以通过调试或NSLog来验证它。

在UIViewController上调用loadView或viewDidLoad之前它将无效

如何创建视图控制器? StoryBoard? Nib文件?