我遵循了本教程Save custom objects into NSUserDefaults,以了解如何使用类保存数据。我的问题是我需要更新此数据而不覆盖旧数据。我目前正在尝试
let data = [ToDo(name: cardTitle.text!, length: 7, startDate: Date(), itemArray: subarray)]
let newData = decodedData.append(data)
let encodedData: Data = NSKeyedArchiver.archivedData(withRootObject: newData)
defaults.set(encodedData, forKey: "data")
defaults.synchronize()
但这会返回错误,因为尝试将data
附加到decodeData
会返回()
,但我不知道如何解决。唯一有效的是
let data = [decodeData[0], ToDo(name: cardTitle.text!, length: 7, startDate: Date(), itemArray: subarray)]
但是这行不通,因为我不仅需要使用索引0处的数据。
以前有人遇到过吗?有什么想法吗?