我有一个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]
同样,如前所述,应用程序运行良好,数据存储和显示如预期,但几天后就消失了。
发布于 2018-09-30 01:11:50
如果您删除应用程序,它将清除UserDefaults
的内容。除此之外,或者重置模拟器,UserDefaults
应该在两次运行之间保持不变。
您将如何/何时调用loadDoctorsArray()
函数
https://stackoverflow.com/questions/52570617
复制相似问题