【问题标题】:Updating Core Data with new data only仅使用新数据更新核心数据
【发布时间】:2014-08-10 16:35:03
【问题描述】:

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

例如:

如果 SQL 数据库当前保存 3 条记录:A B 和 C。

Core Data 目前只包含 A 和 B。

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

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

【问题讨论】:

    标签: core-data


    【解决方案1】:

    给在线数据库记录一个“最后更新”属性。跟踪您的 Core Data 存储上次更新的时间。当需要同步时,只处理自上次本地更新以来更改的远程记录。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-22
      • 1970-01-01
      相关资源
      最近更新 更多