我首先在“设置”应用中进行了更改,但是当我的应用程序稍后进入前景时,我无法获得最新的NSUserDefaults值

时间:2016-11-07 10:24:27

标签: ios nsuserdefaults

我首先在“设置”应用中进行了更改, 当我的应用程序稍后进入前台时,将调用此方法:

-(void)appWillEnterForeground:(NSNotification *) notification{
    //get standardUserDefaults
    NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];
    //save all modification
    [defaults synchronize];
    //change the UI
    [self refreshFields];

}

下面的方法只是刷新UI

-(void)refreshFields{
    //get standardUserDefaults
    NSUserDefaults *defaults=[NSUserDefaults standardUserDefaults];

    //get all the preference value
    self.nameLabel.text=[defaults stringForKey:@"name_preference"];
}

我发现我获得的值是旧值而不是我刚刚在“设置”应用中设置的值。 但是当我重新启动应用程序时,它将获得最新的默认值

我只想要一旦我更改了设置中的设置,我的应用程序将在应用程序再次进入前景时获得更改。

1 个答案:

答案 0 :(得分:0)

在我将Xcode升级到最新的8.1并使用Xcode8.1提供的最新模拟器后,这个问题已经消失了,一切正常!所以我想这是旧的Xcode6测试版的问题和模拟器。