gpt4 book ai didi

swift - 可编码 : give a default value to a new non-optional property

转载 作者:搜寻专家 更新时间:2023-11-01 06:24:57 24 4
gpt4 key购买 nike

<分区>

如果我们对符合 Codable 的类的对象进行编码,并希望使用具有新属性的新类代码来解码这些对象,那么需要什么代码才能使该新属性成为非- 可选,并为其属性赋予默认值?

老类:

class Item: Codable {
let id: String
}

新类:

class Item: Codable {
let id: String
let title: String
}

当使用新格式的代码解码以旧格式保存的对象时,将找不到 title 属性,并且解码将不起作用。

我们可以通过使 title 成为可选的 String? 来解决这个问题。

但我们如何才能将 title 保持为非可选 String,并在解码每个对象时为其赋予默认值?

PS:这是完整的代码。没有指定编码 key ,也没有编写来自解码器的自定义初始化。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com