【发布时间】:2020-03-15 23:00:07
【问题描述】:
struct myStruct1: Codable {
var field1: String
var field2: String
enum CodingKeys: String, CodingKey {
case field1 = "field1"
case field2 = "field2"
}
//Storing the Values to the local file,
//[{"field1":"someValue1","field2":"someValue2"},{"field1":"someValue3","field2":"someValue4"}]
//Now i changed the struct to store an additional field as,
struct myStruct1: Codable {
var field1: String
var field2: String
var field3: String
enum CodingKeys: String, CodingKey {
case field1 = "field1"
case field2 = "field2"
case field3 = "field3"
}
从现在开始,文件中将存储三个字段值,但是对于已经存储的数据将只有两个字段,我需要更新
在文件中存储的数据中新添加field3,默认值为someValue0,
我怎样才能做到这一点。
我说清楚了吗?
【问题讨论】:
-
用解码器覆盖初始化,如果没有字段3,则将其设置为默认值。然后在本地文件中替换您的值。
-
field3 的存在是可选的吗???还是不会?