我试图从我的首选项文件,这是一个整数检索一个值。有趣的是,它总是返回零,虽然它确实存在,并且integerForKey:
和setIntegerForKey:
的名称都是相同的。integerForKey:总是返回零
这是我如何检索值:[defaults integerForKey:@"BackUpSize"];
在这里,我将它设置:[defaults setInteger:[sizeSlider doubleValue]*8589934592 forKey:@"BackUpSize"];
我惊呆了。它应该工作......或者我在这里错过了什么?
感谢
编辑:默认创建为这样:NSUserDefaults*defaults = [NSUserDefaults standardUserDefaults];
编辑:我试图创造我自己的方法NSUserDefaults的这个问题,但它仍返回零。
-(void)setDouble:(double)dou forKey:(id)key
{
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithDouble:dou] forKey:key];
}
-(double)doubleForKey:(id)key
{
return [[[NSUserDefaults standardUserDefaults] objectForKey:key] doubleValue];
}
您是否验证过'defaults'不是'nil'? “nil”方法调用返回...“0”。 – 2010-06-22 09:51:19
默认值只是[NSUserDefaults standardUserDefaults] ... – Pripyat 2010-06-22 09:55:26
只是验证它,它不是零。 – Pripyat 2010-06-22 09:56:18