如何从NSUserDefaults存储检索浮动

Raf*_*ira 4 iphone xcode objective-c nsuserdefaults ios

我在NSUserDefauts中存储和检索浮动时遇到问题.我存储了值,但是当我检索它时,它返回0.

这是我尝试过但没有用的东西:

[pref setFloat:3.0f forKey:@"key"];
float value = [pref floatForKey:@"key"]; //value=0

[pref setFloat:3 forKey:@"key"];
float value = [pref floatForKey:@"key"];//value=0

[pref setObject:[NSNumber numberWithFloat:3] forKey:@"key"];
float value = [[pref objectForKey:@"key"]floatValue];//value=0

[pref setObject:[NSNumber numberWithFloat:3.0f] forKey:@"key"];
float value = [[pref objectForKey:@"key"]floatValue];//value=0
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?我已经尝试了这4段代码,但是当从NSUserDefaults中检索浮动时它们都返回零.

任何帮助表示赞赏.谢谢!

Fer*_*tes 9

保存

-(void) saveFloatToUserDefaults:(float)x forKey:(NSString *)key {
    NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];
    [userDefaults setFloat:x forKey:key];
    [userDefaults synchronize];
}
Run Code Online (Sandbox Code Playgroud)

加载

-(float) loadFloatFromUserDefaultsForKey:(NSString *)key {
    NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];
    return [userDefaults floatForKey:key];
}
Run Code Online (Sandbox Code Playgroud)

如何

[self saveFloatToUserDefaults:5.241 forKey:@"myFloat"];
float x = [self loadFloatFromUserDefaultsForKey:@"myFloat"];
Run Code Online (Sandbox Code Playgroud)