与 Parse 后端保持同步的离线数据存储用例

Use case for offline data storage keeping in sync with Parse backend

我目前正在为我的一个 iOS 应用程序进行 Parse 集成,我需要从 Parse 中提取一些记录(来自现有 table 的客户反馈)并在 mob-app.With Parse iOS SDK 1.6.1 我意识到我也可以使用 LocalDataStore 来提供包括离线支持,但是通过以下文章 appCoda , raywenderlich and Parse documents我想不出可以解决我正在处理的用例的解决方案。

第 1 步:显示从服务器拉取的所有记录(最初是同步的 - 但我也意识到我需要启用 [Parse enableLocalDatastore];,它现在正在干扰初始数据拉取)

步骤 2:允许用户执行某些修改并将此数据同步回服务器。

第 3 步:始终保持本地数据存储与在线数据同步(前提是我在需要时可以上网)。

我能够实施该应用程序的全在线版本并根据需要实现所有功能,但我还想包括离线支持。几个有疑问的问题是

  1. LocalDataStore 是否只支持应用程序的离线使用 必须手动与 Parse 后端同步?
  2. 通过 [query fromLocalDatastore]; 从 Parse localDataStore 获取的数据在第一次调用时没有 return 任何东西(我知道是因为设备上没有任何东西)。我是否需要编写逻辑来每次从后端拉取数据并保持本地数据存储同步?)

如果我用错了,有人可以纠正我吗?或者给我一些正确使用的指示,那将非常有帮助。

是的,你必须先在线查询数据(没有“[query fromLocalDatastore];”)。并“固定”以供本地使用。 有用的提示可以是使用 "UpdatedAt" 来仅获取新内容。

完成后,您可以在线和离线获取数据。同步应该是自动的。

'Red flag' : 不要忘记更新到 sdk 1.6.2,因为它们解决了很多与 LocalDataStore 相关的大错误。