【问题标题】:CoreData Entity to ModelCoreData 实体模型
【发布时间】:2022-07-26 16:47:35
【问题描述】:

我确实得到了一个 JSON 并将其解析为我的模型。为了在离线时使用这些数据,我确实使用 Core Data 存储它。为此,我创建了一个实体并按以下方式插入它:

   taskEntity.id = Int32(task.id ?? 0)
   taskEntity.name = task.name...
   try context.save()

我的问题是,将此实体转换回我的模型以便稍后在我的代码中使用它来处理离线案例的最佳方法是什么?像我存储数据一样一个一个地创建每个对象,还是有更优雅的方法来做到这一点? 谢谢。

【问题讨论】:

    标签: ios json swift core-data


    【解决方案1】:

    我会在模型类型中创建一个以实体对象作为参数的 init

    init(_ entity: MyEntity) {
        self.id = entity.id
        self.name = entity.name
    }
    

    然后就可以使用fetch请求获取所有实体对象,使用map直接转化为模型对象

    类似

    let modelObjects = MyEntity.fetchAll().map(MyModel.init)
    

    【讨论】:

    • 这听起来是个不错的解决方案,谢谢!
    • 我没有收到\.MyModel.init
    • @user15675885 这是一个错字。感谢您的关注。
    猜你喜欢
    • 2012-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多