使用 RestKit 0.20 备份核心数据

Posted

技术标签:

【中文标题】使用 RestKit 0.20 备份核心数据【英文标题】:Backup core data with RestKit 0.20 【发布时间】:2013-05-30 08:42:55 【问题描述】:

我对 RestKit 还很陌生,而且我通常会使用 RESTful Web 服务同步核心数据。 为了简化这一点,我决定使用 RestKit 仅将本地存储备份到我们的 rails 后端。

所以这里有两个问题目前在我的清单上:

1) 使用 RestKit 备份核心数据的最佳实践是什么? 我正在考虑创建一个本地上下文,我的应用程序使用它来执行所有 fetch/create/update/delete 操作(在本地并将它们保存在持久存储中) 然后在后台允许 RestKit 通过 RKManagedObjectStore 使用自己的 MOC 每 5 分钟进行一次备份。

2) RestKit 是否提供一些句柄方法来在离线时重试 HTTP 请求? 如何管理同一实体上的本地 CREATE 和本地 EDIT 等情况? 我正在考虑使用 Blake 在他的一个 cmets 中建议的创建/更新/删除标志。

非常感谢您的帮助!

【问题讨论】:

【参考方案1】:

直接来自 RestKit 的创建者 Blake! ​​​ 简短的回答:没有现成的与 RestKit 同步的解决方案(离线时),但 Blake 指出了一个小但非常有趣的起点 - 如果您有任何其他想法,请随时提出建议。我仍在寻找最好的方法。

布莱克·沃特斯:

    我以前从未做过这样的事情。理论上你应该可以只上传 SQLite,但我不知道你会对数据有什么样的一致性保证。 没有任何内置机制来实现这一点,因为很难将同步行为推广到这种级别。 RestKit 为您提供了实现此类功能的低级组件,并且正在进行一些有趣的开源努力来解决这个问题:https://github.com/eric-horacek/EHObjectSyncManager

【讨论】:

以上是关于使用 RestKit 0.20 备份核心数据的主要内容,如果未能解决你的问题,请参考以下文章

RestKit 0.20 和 ManagedObjectContexts

无法使用 RestKit 0.20 在构建之间持久化数据

RestKit 0.20 with Core Data:删除对象

使用 RestKit 0.20 映射时在 JSON 中向上遍历

如何通过 RestKit 0.20 发布到数据库

使用 RestKit 0.20 的对象映射关系