我想在NSUserDefaults中存储一个float值。
我还需要检查浮点值exists..if,而不是我需要在其中赋值。
并检索上面的it...for我有下面的代码,但它给了我一个错误。
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"]];
}谢谢你的帮助
发布于 2010-12-06 14:11:55
为此使用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];发布于 2013-12-10 19:31:51
尝试以下代码:
-(IBAction)sliderAction:(id)sender
{
float sliderValue = [sender floatValue];
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithFloat:sliderValue] forKey:@"keySliderValue"];
NSLog(@"%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"keySliderValue"]);
}https://stackoverflow.com/questions/4363698
复制相似问题