我在视图 1 上有一个文本标签和一个按钮。如果我单击该按钮,我将通过模式连接进入视图 2。在这个视图中,我输入一个数字并按下一个按钮。该按钮将数字保存到 NSUserDefaults,并尝试更新视图 1 上的文本标签以反映此数字。
按钮代码:
- (IBAction)returnToView1:(UIButton *)sender {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
defaults setObject:@"myNumber" forKey:@"myKey"];
[defaults synchronize];
_myLabel.text = [defaults stringForKey:@"myKey"];
}
但是,当我使用模式连接返回视图 1 时,标签从未更新。我可以通过添加以下代码来解决这个问题:
-(void)viewDidAppear:(BOOL)animated
{
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
_myLabel.text = [defaults stringForKey:@"myKey"];
}
问题是,视图 1 首先加载,然后填充文本字段,因此看起来不专业。我希望在加载视图之前填充文本标签。我尝试将此代码放在此方法中:
(void)viewWillAppear:(BOOL)animated
...但这也不起作用(由于某种原因,文本字段只会在我关闭应用程序,切换到视图 2,再次按下按钮,然后返回到视图 1 后才会填充)。感谢您的任何建议!