首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建符合Codable的对象的(深层)副本

创建符合Codable的对象的(深层)副本
EN

Stack Overflow用户
提问于 2017-10-24 09:49:03
回答 1查看 1.9K关注 0票数 1

我有一个对象,它从Realm派生了Object的子类,并且为了在与Codable对话时能够与JSON进行相互转换而符合JSON。

如何利用Codable协议进行深度复制(包含子对象)?

EN

回答 1

Stack Overflow用户

发布于 2018-04-03 09:15:32

这将创建一个利用Codable协议的对象的深度副本。正如@itai-ferber提到的,与NSCopying相比,它会有很高的开销。

代码语言:javascript
复制
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
    }

}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46900984

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档