我尝试将NSNumber设置为使用NSUserDefaults加载的浮点值,但遇到错误。我不明白为什么...?
下面是我的代码:
[settingsData.sensitivitySettingValue floatValue] = [[NSUserDefaults standardUserDefaults] floatForKey:@"sensitivityKey"];如果我单独使用浮点数(即float myFloat = [[NSUserDefaults standardUserDefaults] floatForKey:@"sensitivityKey"] ),它就会起作用
,但我希望该值在所有视图控制器中都可用,因此我在模型类中将其定义为NSNumber。
所以,有没有人能告诉我为什么这句话行不通?
发布于 2011-11-22 00:54:33
将settingsData作为数据模型类的对象,其中sensitivitySettingValue是使用以下内容声明为NSNumber的变量
[settingsData.sensitivitySettingValue floatValue]
实际获取它的值,而不是给它设置一个浮点值。您可以使用点符号,如settingsData.sensitivitySettingValue = [NSNumber numberWithFloat:[[NSUserDefaults standardUserDefaults] floatForKey:@"sensitivityKey"]];
或者像这样的东西
[settingsData setSensitivitySettingValue:[NSNumber numberWithFloat:[[NSUserDefaults standardUserDefaults] floatForKey:@"sensitivityKey"]]];希望能有所帮助
发布于 2011-11-22 00:42:25
从语法上看,这看起来像是要将一个变量赋给一个getter方法。floatValue是做什么的?返回值还是赋值?
发布于 2011-11-22 00:49:38
你可以试试
+ (NSNumber *)numberWithFloat:(float)value;方法来赋值。这是Docs。
https://stackoverflow.com/questions/8215234
复制相似问题