首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在NSUserDefaults中存储浮点数

如何在NSUserDefaults中存储浮点数
EN

Stack Overflow用户
提问于 2010-12-06 13:57:48
回答 2查看 2.7K关注 0票数 3

我想在NSUserDefaults中存储一个float值。

我还需要检查浮点值exists..if,而不是我需要在其中赋值。

并检索上面的it...for我有下面的代码,但它给了我一个错误。

代码语言:javascript
复制
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"]];      
}

谢谢你的帮助

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-06 14:11:55

为此使用NSNumber类,并通过setObject:forKey:方法存储它,这样就可以检查它是否存在。

我还建议使用常量作为键:

代码语言:javascript
复制
#define HANDWRITING_SIZE_SLIDER @"HSS"

你的代码应该是这样的:

代码语言:javascript
复制
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中设置这个值:

代码语言:javascript
复制
float sizeSliderValue = ...
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithFloat:sizeSliderValue] forKey:HANDWRITING_SIZE_SLIDER];
票数 12
EN

Stack Overflow用户

发布于 2013-12-10 19:31:51

尝试以下代码:

代码语言:javascript
复制
-(IBAction)sliderAction:(id)sender
{
    float sliderValue = [sender floatValue];
    [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithFloat:sliderValue] forKey:@"keySliderValue"];

    NSLog(@"%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"keySliderValue"]);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4363698

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档