0

我想要做的是在我的 SecondViewController.m 文件的文本字段中显示我的 FirstViewController.m 文件中的计算变量。我发现最简单的方法(虽然可能不是最好的)是使用 NSUserDefaults。我遇到的问题是,在使用应用程序时,如果我返回第一个选项卡并更改变量的值,第二个选项卡中的文本字段在我返回时不会刷新以反映这一点。我希望它自动更改而无需用户按下按钮。有没有办法做到这一点?从第二类访问变量的更好方法也将非常有用。

//FirstViewController.m

//Calculation of epleyInt using other text fields and pressing a button.

[epleyField setText:[NSString stringWithFormat:@"%i", epleyInt]];

NSUserDefaults *settings = [NSUserDefaults standardUserDefaults];
[settings setInteger:epleyInt forKey:@"epley"];
[settings synchronize];

//SecondViewController.m

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

NSUserDefaults *settings = [NSUserDefaults standardUserDefaults];
int epleyInt = [settings integerForKey:@"epley"];

[epley10Field setText:[NSString stringWithFormat:@"%i", epleyInt]];
}
4

1 回答 1

0

设法使用单例变量并移动代码以将文本字段更新为 viewDidAppear 方法。

我发现这很有帮助:Simple Passing of variables between classes in Xcode

于 2012-09-04T16:48:59.193 回答