我想将一个 float
值存储到 NSUserDefaults
中。
我还需要检查浮点值是否存在..如果不存在,我需要在其中分配一些值。
并检索它...对于上面的代码,我有以下代码,但它给了我一个错误。
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults boolForKey:@"HANDWRITING_SIZE_SLIDER"] == YES) {
self.sizeSlider.value = 10.0;
} else {
self.sizeSlider.value = [[NSUserDefaults standardUserDefaults] floatForKey:@"HANDWRITING_SIZE_SLIDER"]];
}
感谢您的帮助
最佳答案
为此使用 NSNumber
类并通过 setObject:forKey:
方法存储它,以便您可以检查它是否存在。
我还建议使用常量作为键:
#define HANDWRITING_SIZE_SLIDER @"HSS"
您的代码应遵循以下几行:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:HANDWRITING_SIZE_SLIDER] == nil) {
//doesn't exist in NSUserDefaults, set to default value...
self.sizeSlider.value = 10.0;
} else {
self.sizeSlider.value = [[defaults objectForKey:HANDWRITING_SIZE_SLIDER] floatValue];
}
在您应用的其他地方,您可以像这样在 NSUserDefaults
中设置值:
float sizeSliderValue = ...
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithFloat:sizeSliderValue] forKey:HANDWRITING_SIZE_SLIDER];
关于iphone - 如何在 NSUserDefaults 中存储一个 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4363698/