要建模的 CoreData 实体

CoreData Entity to Model

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

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

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

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

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

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

类似

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