我要做的是在我的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]];
}
答案 0 :(得分:0)
使用单例变量进行管理,并移动代码以将文本字段更新为viewDidAppear方法。
我发现这非常有用:Simple Passing of variables between classes in Xcode