在某些设备上,数据未保存在 UserDefaults

问题描述

截图:

When the image is saved,it is displayed in the table view

Data lost after restart the app and table view is empty

我有自己的数据模型,我使用编码和解码将其存储在 UserDefualts 中的特定键下。 有用于数据管理的UserDefaults 扩展

extension UserDefaults {
    func saveResult(result: ComputedResult) {
        if var results = try? results(forKey: "results") {
            removeAllResults()
            results.append(result)
            try? set(results: results,forKey: "results")
        } else {
            try? set(results: [result],forKey: "results")
        }
    }
    
    func updateResults(result: ComputedResult,index: Int) {
        var newResults = try! results(forKey: "results")
        removeAllResults()
        newResults[index] = result
        try? set(results: newResults,forKey: "results")
    }
    
    func removeResult(index: Int) {
        var newResults = try! results(forKey: "results")
        removeAllResults()
        newResults.remove(at: index)
        try? set(results: newResults,forKey: "results")
    }
    
    func removeAllResults() {
        removeObject(forKey: "results")
    }
}

函数用于从 UserDefaults 中获取数据

func fetchResults() {
    self.results = []
    self.results = try! UserDefaults.standard.results(forKey: "results")
}

我不知道为什么数据不能只保存在某些设备上。 请帮我解决这个问题

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)