Ios 使用什么设计模式从web服务器数据更新NSManagedObjects

Ios 使用什么设计模式从web服务器数据更新NSManagedObjects,ios,core-data,Ios,Core Data,我正在努力高效地完成这项工作,我想知道标准的设计模式是什么,基本上是将对象从MYSQL同步到核心数据 我在想: 1.将MYSQL中的对象作为JSON发送 2.当我遍历每个JSON对象时,从核心数据中提取相应的对象,然后删除,然后插入带有更新属性的新对象 我担心的是,这将需要在每个循环中访问DB(我想会减慢速度) 所以我想我可以迭代JSON结果并从CD中提取所有我想提取的名称。然后使用该名称数组进行大规模的CD查询。然后我会删除这些,然后插入新的。但我认为大规模的查询需要一段时间 你们认为什么是最

我正在努力高效地完成这项工作,我想知道标准的设计模式是什么,基本上是将对象从MYSQL同步到核心数据

我在想: 1.将MYSQL中的对象作为JSON发送 2.当我遍历每个JSON对象时,从核心数据中提取相应的对象,然后删除,然后插入带有更新属性的新对象

我担心的是,这将需要在每个循环中访问DB(我想会减慢速度)

所以我想我可以迭代JSON结果并从CD中提取所有我想提取的名称。然后使用该名称数组进行大规模的CD查询。然后我会删除这些,然后插入新的。但我认为大规模的查询需要一段时间

你们认为什么是最好的方法,还是不同的方法


谢谢,您可以使用第一种方法,例如每100条记录提交一次数据库。

我认为这是一种类似于中所述的方法 在“核心数据编程指南”中 你应该在这里工作:

  • 按存储在数据库中的某个唯一id对JSON对象进行排序(或使 服务器按排序顺序返回对象)
  • 对数据库中按相同id排序的所有项执行提取请求。可能为提取请求设置一个批大小
  • 并行遍历两个列表(JSON对象和获取的项)。这允许在一个循环中检测所有条目上的新对象、更新对象和删除对象

如果条目数量很大,可能需要在两者之间保存上下文,或者使用显式自动释放池来限制内存存储。

我更担心每次迭代都从DB加载