几天后,我的iOS应用中的数据消失了

时间:2018-09-29 17:03:53

标签: ios arrays swift database

我有一个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]

再次提到,该应用程序运行正常,数据按预期存储和显示,但几天后消失。

1 个答案:

答案 0 :(得分:1)

如果删除该应用程序,它将清除UserDefaults的内容。除此之外,或者重置模拟器,UserDefaults应该在两次运行之间保持不变。

您如何/何时调用loadDoctorsArray()函数