gpt4 book ai didi

ios - `NSUserDefaults` 没有正确保存 float

转载 作者:行者123 更新时间:2023-11-28 18:11:56 25 4
gpt4 key购买 nike

我正在构建一个应用程序,我想在其中使用 NSUserDefaults 保存一些用户数据,它是我的一个 Controller 的属性,如下所示:

  @property (nonatomic, strong) NSUserDefaults *userPreference;
@synthesize userPreference = _userPreference;

我正在尝试保存一个叫做 scale 的东西,它应该是一个 float ,所以我在 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"];

始终返回 1。我不确定发生了什么。我没有正确创建 NSUserDefaults 吗?

提前致谢!

最佳答案

如果你想使用 NSUserDefaults,不要创建任何变量或@propertys。只需使用

[[NSUserDefaults standardUserDefaults] setFloat:forKey:]
[[NSUserDefaults standardUserDefaults] synchronize];

保存您的数据和

[[NSUserDefaults standardUserDefaults] floatForKey:]

用于获取数据。

关于ios - `NSUserDefaults` 没有正确保存 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16579805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com