我正在构建一个应用程序,我想在其中使用 保存一些用户数据NSUserDefaults
,它是我的一个控制器的属性,如下所示:
@property (nonatomic, strong) NSUserDefaults *userPreference;
@synthesize userPreference = _userPreference;
我正在尝试保存一个scale
应该是浮点数的叫做 a 的东西,所以我在 getter 中做这样的事情来输入一些默认值,scale
以防用户没有输入:
if (!_userPreference) {
_userPreference = [NSUserDefaults standardUserDefaults];
}
if (![_userPreference floatForKey:@"scale"]) {
// if user has not entered this info yet
// also 0 is not a valid value so I can do this
[_userPreference setFloat:100.0 forKey:@"scale"]; // let default scale be 100.0
[_userPreference synchronize];
}
但是,当我稍后查询这个时,无论我在默认值中设置什么,以下命令:
[self.userPreference floatForKey:@"scale"];
总是return 1
。我不确定发生了什么。我没有NSUserDefaults
正确创建吗?
先感谢您!