[英]How can I save an array of Double in UserDefaults?
How can I save an array of Double in UserDefaults
?如何在
UserDefaults
中保存一个 Double 数组?
How come my UserDefaults
evaluate to nil?为什么我的
UserDefaults
评估为零?
print(UserDefaults.standard.object(forKey: "num")!)
if var o = UserDefaults.standard.object(forKey: "num") as? [Double] {
o.insert(Double(self.slid), at: 0)
print("opa \(o)")
UserDefaults.standard.removeObject(forKey: "num")
UserDefaults.standard.set(o, forKey: "num")
if let z = UserDefaults.standard.object(forKey: "num") {
print(z)
}
} else {
UserDefaults.standard.set(Double(self.slid), forKey: "num")
if let z = UserDefaults.standard.object(forKey: "num") {
print("kl \(z)")
} else {
print("nilo")
}
}
You should be setting the value initially as an array of double [Double]
instead of just a single Double
.您最初应该将值设置为 double
[Double]
的数组,而不仅仅是单个Double
。 Modify to the below line:修改为以下行:
UserDefaults.standard.set(Double(self.slid), forKey: "num")
To:至:
UserDefaults.standard.set([Double(self.slid)], forKey: "num")
Here is the complete code you'll need:这是您需要的完整代码:
if var array = UserDefaults.standard.object(forKey: "num") as? [Double] {
array.insert(Double(self.slid), at: 0)
UserDefaults.standard.set(array, forKey: "num")
} else {
UserDefaults.standard.set([Double(self.slid)], forKey: "num")
}
print(UserDefaults.standard.object(forKey: "num"))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.