我有一个从 Realm 子类化的对象Object
,并且符合以便Codable
在与 API 交谈时转换为 JSON 和从 JSON 转换。
如何利用该Codable
协议进行深层复制(包括子对象)?
这将利用该Codable
协议制作对象的深层副本。正如@itai-ferber 所提到的,与NSCopying
.
class MyObject: Object, Codable {
/* details omitted */
var children = List<ChildObject>()
func copy() throws -> MyObject {
let data = try JSONEncoder().encode(self)
let copy = try JSONDecoder().decode(MyObject.self, from: data)
return copy
}
}