附加到 UserDefaults 数组 (Swift)

Jac*_*vin 2 arrays int nsuserdefaults swift

我想创建一个 Int 数组,我可以将其附加到并将被保存到,UserDefaults以便下次用户打开应用程序时,该数组将被保存。所以,我知道如何创建一个UserDefaults数组...

var intArray = UserDefaults.standard.array(forKey: "intArray") as! [Int]
Run Code Online (Sandbox Code Playgroud)

我知道如何将数组设置为已经存在的数组:

var array = [2, 6, 34, 4, 9]
UserDefaults.standard.set(array, forKey: "intsArray")
Run Code Online (Sandbox Code Playgroud)

但是,我需要数组为空,然后用户将 Int 添加到数组中。谢谢你的帮助!

Rus*_*kov 8

我建议您为此目的创建一个计算属性:

var intArray: [Int] {
    get {
        return UserDefaults.standard.array(forKey: "intArray") as? [Int] ?? []
    }
    set {
        UserDefaults.standard.set(newValue, forKey: "intArray")
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,每当您修改 intArray 时,它都会更新 UserDefaults 中的值,并且每当您调用 intArray 时,它都会返回 UserDefaults 中的值。