我有一个对象,它从Realm派生了Object的子类,并且为了在与Codable对话时能够与JSON进行相互转换而符合JSON。
如何利用Codable协议进行深度复制(包含子对象)?
发布于 2018-04-03 09:15:32
这将创建一个利用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
}
}https://stackoverflow.com/questions/46900984
复制相似问题