将本地核心数据数据库与 Web 服务同步

Posted

技术标签:

【中文标题】将本地核心数据数据库与 Web 服务同步【英文标题】:Syncing Local Core Data DB with Web Service 【发布时间】:2016-07-29 09:04:21 【问题描述】:

我有一个简单的 Web 服务,为我的 ios 项目提供一些 JSON。为了便于使用,我将检索到的数据存储在 Core Data 数据库中。一切正常。

虽然我不确定如何在服务器和 iOS 项目之间设置同步。我的目标是 Web 服务是唯一的数据源,并且始终拥有最新的数据。 iOS 客户端无法对 Web 服务进行任何修改。它只能检索数据。因此,Web 服务上已删除的数据也应该在 iOS 端被删除。目前没有。

我应该如何进行?我在网上看到了一些东西,我无法理解。一个基本的机制解释将不胜感激。

谢谢。

【问题讨论】:

【参考方案1】:

好的方法应该是这样的:

    如果可能的话,为首次应用启动保留一份本地数据副本。 当应用程序启动时检查版本参数,即如果您拥有的本地保存的数据已更新或服务器是否有新数据。 如果您有更新的数据,则无需点击 api 来获取数据。 如果服务器有更新版本,则点击 api 并将本地数据替换为新数据并保存。

基本上在您点击数据下载 API 之前,您应该有另一个 API 来检查服务器上存在的数据是否与本地数据相同,并在此基础上完成下载和更新机制。

【讨论】:

以上是关于将本地核心数据数据库与 Web 服务同步的主要内容,如果未能解决你的问题,请参考以下文章

IOS/Xcode:将 Web 服务提要保存到核心数据中

如何在目标 c 中将核心数据对象同步到 Web 服务

如何将图像从本地同步到 Web 服务器?所以我可以在设备上看到它们

Swift Core 数据与 Web 服务器同步

如何将 indexedDB 本地数据与服务器同步?

OrientDB - 将本地数据库与远程数据库同步