我有一个带有视图控制器的视图,当我在屏幕上显示这个视图时,我希望能够从调用类将变量传递给它,以便我可以设置标签等的值。
首先,我只是尝试为其中一个标签创建一个属性,然后从调用类中调用它。例如:
SetTeamsViewController *vc = [[SetTeamsViewController alloc] init];
vc.myLabel.text = self.teamCount;
[self presentModalViewController:vc animated:YES];
[vc release];
然而,这并没有奏效。所以我尝试创建一个便利初始化程序。
SetTeamsViewController *vc = [[SetTeamsViewController alloc] initWithTeamCount:self.teamCount];
然后在SetTeamsViewController
我有
- (id)initWithTeamCount:(int)teamCount {
self = [super initWithNibName:nil bundle:nil];
if (self) {
// Custom initialization
self.teamCountLabel.text = [NSString stringWithFormat:@"%d",teamCount];
}
return self;
}
但是,这也不起作用。它只是加载我在 nib 文件中给出的标签的任何值。我用NSLog()
s 乱扔代码,它传递了正确的变量值,只是没有设置标签。
任何帮助将不胜感激。
编辑:我刚刚尝试在我指定的初始化程序中设置一个实例变量,然后在 viewDidLoad 中设置标签,这样就可以了!这是最好的方法吗?
此外,当关闭此模式视图控制器时,我也会更新调用 ViewController 视图中按钮的文本。但是,如果我再次按下此按钮(再次显示模态视图),而另一个视图正在屏幕上显示动画,则该按钮暂时再次具有其原始值(来自笔尖)。有人知道为什么吗?