RestKit和核心数据 - 如何发布数据?

时间:2014-04-08 21:37:47

标签: core-data synchronization restkit restkit-0.20

我正在使用RestKit .22.0与Core Data集成,我对此都非常不熟悉。我按照RKGist教程学习了如何从REST端点获取对象,设置对象映射,添加路由,以及查看Web服务中的数据是否正确插入到Core Data sqlite数据库中。

现在我开始处理将对象持久保存到Web服务,但无法找到有关如何最好地执行此操作的任何信息。似乎有多种方法可以使用RestKit对猫进行换肤,所以我想看看POST / PUTing数据的最佳实践。

  1. 在发布新对象时,您是否通常先将对象保存在托管对象上下文中,然后调用[[RKObjectManager sharedManager] postObject:path:parameters:success:failure:]?或者是否有一些RestKit方法同时执行这两个操作?
  2. 如果您首先将对象保存在Core Data中然后将其POST到Web服务,那么RestKit是否能够使用服务的数据库标识属性更新已插入的对象? [[RKObjectManager sharedManager] postObject:path:parameters:success:failure:]方法是否为您执行此操作?
  3. 如果在发布对象时出错,那么您重试POST的典型方式是什么?你会在核心数据管理对象中寻找某种标志,并在一个单独的线程中重试吗?
  4. 谢谢!

1 个答案:

答案 0 :(得分:2)

  1. 是的,然后来自POST的响应更新了同一个对象(可能填写了服务器指定的唯一ID)
  2. 是的,更新POSTed对象是默认行为(您需要指定响应映射,响应必须是单个对象)
  3. 一般没有单独的线程,这取决于导致错误的原因。有一个标志表明它已上传,并在重新建立网络连接时重试