【发布时间】:2017-03-15 03:12:54
【问题描述】:
我正在使用 userdefaults 来保存长度未知的十进制值(即 51000000000)。 Userdefaults 不允许保存长十进制数,因此我将值转换为字符串并保存。然后我想重新加载数字但是我一直无法找到将字符串值转换为小数的方法。我该怎么做?
编辑:
将值设置为 userdefaults 的代码:
let savedValues = UserDefaults.standard
savedValues.setValue(String(describing: buildingConstants.jitterClickConstantCost), forKey:"jitterClickCost")
struct buildingConstants {
static var jitterClickConstantCost = Decimal()
}
【问题讨论】:
-
首先显示将数字转换为字符串的代码,然后再将其存储在用户默认值中。
-
@rmaddy 我已经做到了
-
1.
buildingConstants.jitterClickConstantCost是什么?它是如何声明的? 2. 切勿在UserDefaults上使用setValue(forKey:)。使用正确的非 KVC 方法将数据存储在用户默认值中。 -
@rmaddy 抱歉,我已经说得更清楚了,但我不知道“非 KVC”方法是什么意思
-
查看
UserDefaults的文档。请注意,没有列为setValue(forKey:)的方法。仅使用文档中列出的那些。