【发布时间】:2018-07-27 06:55:41
【问题描述】:
我对 swift 非常陌生,我正在尝试找到一种方法来为扩展 Codable 的类使用默认编码并为某些字段添加单独的数据。
例如,我有一个扩展 Codable 的 Contact 类,有很多 字段,我想对日期进行不同于默认的编码(默认情况下 JSONEcoder 将日期作为时间戳,但我想使用不同的格式) 为简单起见,假设我的班级是:
class Contact:Codable {
var name: String?
var id: String?
var birthdate: Date?
}
对于自定义编码,我使用了这个链接:Using Decodable in Swift 4 with Inheritance
问题是我不想单独编码每个字段,因为默认编码会这样做。我只想将某些值添加到编码的 json 中。
我还发现了这个关于动态键的链接,但我不知道如何准确地使用它:https://gist.github.com/samwize/a82f29a1fb34091cd61fc06934568f82
这个可以吗?
【问题讨论】:
-
“以不同方式编码日期”是什么意思?
-
@Sweeper:默认情况下,JSONEcoder 将日期序列化为时间戳,但我想使用不同的格式
-
@vadian:合成的en-/decoder是什么意思?
标签: json swift jsondecoder jsonencoder