仅使用新数据更新核心数据

时间:2014-08-10 16:35:04

标签: core-data

我有一个在线SQL数据库,需要与我的应用程序的Core Data持久存储同步。是否有一种简单的方法只能将当前不存在的数据写入Core Data?

例如:

如果SQL数据库当前包含3条记录:A B和C.

核心数据目前仅包含A和B.

我只想在同步过程中将C添加到Core Data。

我可以做一系列循环来检查每条记录但有更简单的方法吗?所有记录都是唯一的,因此可能有一种方法可以将Core Data属性设置为主键。

1 个答案:

答案 0 :(得分:0)

为在线数据库记录提供“上次更新”属性。跟踪上次更新Core Data存储的时间。在同步时,只处理自上次本地更新以来更改的远程记录。

在Core Data中使用find-or-create循环遍历所有记录将会很慢,因为您将为数据存储区中的每个对象创建一个NSManagedObject实例。保持同步或不在核心数据之外的逻辑以提高速度。