【问题标题】:How can I save an array of Double in UserDefaults?如何在 UserDefaults 中保存一个 Double 数组?
【发布时间】:2020-07-30 06:15:36
【问题描述】:

如何在UserDefaults 中保存一个 Double 数组?

为什么我的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")
    }
}

【问题讨论】:

    标签: ios swift double userdefaults


    【解决方案1】:

    您最初应该将该值设置为双 [Double] 的数组,而不仅仅是单个 Double。修改为下面一行:

    UserDefaults.standard.set(Double(self.slid), forKey: "num")
    

    收件人:

    UserDefaults.standard.set([Double(self.slid)], forKey: "num")
    

    这是您需要的完整代码:

    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"))
    

    【讨论】:

      猜你喜欢
      • 2018-07-18
      • 2017-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-16
      • 1970-01-01
      相关资源
      最近更新 更多