NSUserDefault无法检索值double

时间:2014-04-15 18:37:22

标签: ios double nsuserdefaults

我正在创建一个简单的double值,将其保存为NSUserDefault并尝试恢复它......但它没有。

- (IBAction)try:(id)sender {

    double value = 42.00;

    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    [defaults setDouble:value forKey:@"kDoubleKey"];
   // NSLog(@"loading %f",myDouble);
}


-(void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    NSUserDefaults *fetchDefaults = [NSUserDefaults standardUserDefaults];
    double intValue = [fetchDefaults doubleForKey:@"kDoubleKey"];
    NSLog(@"douvle retrieve %f",intValue);
}

1 个答案:

答案 0 :(得分:1)

每当您将某些内容保存为默认值时,请不要忘记同步: 把它放在try方法的末尾

[[NSUserDefaults standardUserDefaults]synchronize];

以下是Apple对此的说法:因为此方法是定期自动调用的,所以只有在您不能等待自动同步(例如,如果您的应用程序即将退出)或者您希望将用户默认值更新为磁盘上的内容,即使您没有进行任何更改。