我想在设置值时直接与 UserDefaults 保持变量同步。我已经这样做了:
var userId: String {
get {
return UserDefaults.standard.string(forKey: kUserIdKey) ?? ""
}
set {
UserDefaults.standard.set(newValue, forKey: kUserIdKey)
}
}
它工作正常,但它是正确的方法吗?
如果是这样,那么数组呢?
var tagsList: [Int] {
get {
return (UserDefaults.standard.object(forKey: kTagsList) as? [Int]) ?? [Int]()
}
set {
UserDefaults.standard.set(newValue, forKey: kTagsList)
}
}
如果我添加一个元素tagsList.append(0)
,新值是否存储在 UserDefaults 中?
更新。