如何处理与 RestKit 的关系同步(离线支持)

Posted

技术标签:

【中文标题】如何处理与 RestKit 的关系同步(离线支持)【英文标题】:How to handle sync of relationships with RestKit (Offline support) 【发布时间】:2014-05-08 09:57:14 【问题描述】:

我使用 RestKit 和 CoreData 编写了一个同步引擎。我现在遇到的问题是,如果两个对象都没有同步,因此没有服务器分配的 ID,我如何处理关系的同步。我确实有 CoreData 关系集。我不需要一个确切的解决方案我应该怎么做,但一个如何处理的整体概念会很棒。

谢谢 丹尼尔

【问题讨论】:

那么在本地创建2个对象,它们之间有关系,那么如何将它们发送到服务器(并取回服务器为它们分配的ID)? 【参考方案1】:

我认为您必须先在服务器上创建对象,获取 id,然后设置关系。

另一种选择是为您的对象使用 uuid,并在客户端创建它们。

【讨论】:

【参考方案2】:

要支持离线模式,最好是在客户端创建对象并为其分配唯一 ID,在客户端创建它们的关系,然后将它们同步回服务器。然后服务器可以将这些新创建的对象存储在数据库中。

您只需要考虑天气,您就可以修改/分配 ID 到数据库中的对象,即您可以将 ID 分配给 Mongo 数据库实例并保存回来。

【讨论】:

以上是关于如何处理与 RestKit 的关系同步(离线支持)的主要内容,如果未能解决你的问题,请参考以下文章

如何处理与 Laravel 的复杂关系?

如何处理离线同步中的核心数据关系 - Azure 移动服务 iOS

如何处理与节点 ID 对应的响应对象?

如何处理与 python 套接字的断开连接? (连接重置错误)

如何处理与派生类不兼容的基类方法?

如何处理与Apache HttpClient的无效SSL证书