RestKit和核心数据:最佳实践

时间:2014-03-08 04:16:01

标签: objective-c core-data restkit

我还没有找到任何关于将RestKit与Core Data一起使用的最佳实践的文档。我应该在发布之前将对象保存到上下文中,还是仅在帖子成功时保存它们?我该如何处理发布或更新对象的错误?保持核心数据存储与服务器上的内容同步的最佳方法是什么(例如,如果服务器上删除了某些内容)?假设您在本地创建对象是因为您处于脱机状态,那么一旦您再次联机,有没有一种方法可以将这些对象同步回服务器?如果你正在使用RKObjectCache,它似乎会删除甚至删除从未发布过的本地对象。

1 个答案:

答案 0 :(得分:2)

如果您要创建要发布的托管对象,请设置基本属性并保存。现在这实际上是一个存根对象,RestKit将使用收到的响应填充它。如果您不想要存根对象,则改为发布非托管对象。

通过检测和处理错误来处理错误。这通常意味着使用RKErrorMessage,但这在很大程度上取决于服务器响应包含的内容......

如果服务器上删除了某些内容,请使用fetchRequestBlock

您需要处理新对象上传到服务器。维护状态标志和/或时间戳,以便在重新获得网络连接时处理项目。

RestKit只会删除您要求的对象。如果您有尚未上传的对象并且您使用fetchRequestBlocks,则提取应包含一个谓词,该谓词将排除待处理的上传项目。