我试图将struct数组保存到UserDefaults,我无法弄清楚为什么JsonEncoder返回空数据。我有符合Codable协议的设置模型
struct MenuItem:Codable { 让名字:……
这是一个非常常见的错误。
在计算属性的setter中 新的价值 由隐式表示 newValue 变量,它不是属性本身。
newValue
set { let json = codeToJson(data: newValue) UserDefaults.standard.set(json, forKey: "key") }
更改 Array<T>.self 至 [MenuItem].self
Array<T>.self
[MenuItem].self
return try JSONDecoder().decode([MenuItem].self, from: jsonData)