我有一个iPhone应用程序,该应用程序将数据本地存储在一个数组中。我在实际的iPhone上测试了该应用程序,但工作正常,但几天后数据消失了。我很好奇,这是否发生在其他任何人身上,以及是否找到了解决方案。这是存储数据的代码示例:
var doctorsArray = [Doctors]()
func storeDoctorsArray() {
doctorsArray.sort(by: {(a: Doctors, b: Doctors) -> Bool in
return a.firstName < b.firstName
})
let defaults = UserDefaults.standard
let data = NSKeyedArchiver.archivedData(withRootObject: doctorsArray)
defaults.set(data,forKey: "stored_doctors_data")
defaults.synchronize()
}
并获取数据:
func loadDoctorsArray() {
if let storedArray = UserDefaults.standard.object(forKey: "stored_doctors_data") as? Data {
doctorsArray = NSKeyedUnarchiver.unarchiveObject(with: storedArray) as! [Doctors]
再次提到,该应用程序运行正常,数据按预期存储和显示,但几天后消失。
答案 0 :(得分:1)
如果删除该应用程序,它将清除UserDefaults
的内容。除此之外,或者重置模拟器,UserDefaults
应该在两次运行之间保持不变。
您如何/何时调用loadDoctorsArray()
函数