0

我的应用程序与 webServer 对话。登录时,我拉下 JSON 并用 4 个实体(每个实体大约 1000 行)组成 CoreData。服务器上的数据会发生变化,因此每次登录时,我都必须更新现有的 CoreData。找出记录是否存在并在需要时插入新记录的最佳方法是什么?

4

1 回答 1

0

要在更新上聪明(不是每次都盲目更新),你需要在服务器端有一些智能。

我会做的一个想法。

  1. 服务器有一个主表,记录了 4 个实体的修改日期的时间戳。它还具有公开主表的 API。每次 4 个实体之一发生更改时,主表的相应条目也必须更新。

  2. 您也可以在应用程序端创建相同的主表副本。

  3. 在应用程序启动时,您查询 1. 中的 API,并与 2. 中的值进行比较,以查看时间戳是否已在服务器端更新。

  4. 如果是,则下载并替换相应的实体。


另一种允许更精细的控制。

  1. 将时间戳列添加到服务器端的 4 个实体。每次添加/更新条目时,都会更新时间戳。

  2. 为每个实体准备一个 API,该 API 仅过滤比指定时间戳更新的项目

  3. 在应用程序启动时,您在 2. 中查询 API 并进行更新。

第二种方法的漏洞是它无法处理服务器端的删除。也许你可以结合第一种方法来支持这一点。

于 2012-10-04T05:52:54.807 回答