使用RestKit和CoreData同步修改对象的正确方法

cho*_*bin 3 web-services ios restkit

我需要帮助了解如何管理使用CoreData持久化远程对象的iPhone应用程序的API.根据我的理解,当iOS应用程序获取远程对象时,它会加载资源路径中的所有对象.

对于后续请求,我希望通过让Web服务器仅返回自上次更新时间以来已更新的对象来减少开销.我通过返回upd_at比请求的last_update时间更新的对象来执行此操作.

然后,RestKit将修改后的对象解析并映射到CoreData.这个实现是使用RestKit和CoreData执行同步的正确方法,还是我错过了介于两者之间的层?

谢谢!

Pau*_*nge 9

通常,RESTful接口应该尝试并"回归基础".在您的情况下,我建议使用HTTP标头If-Modified-Since.它比传递另一个参数稍微干净,因为RestKit将处理HTTP状态响应,而无需您执行任何操作.

否则,您的方法似乎正常.服务器同步是一个巨大的问题,并且有很多文献和方法来处理它.如果你想做一些更复杂的事情,那么快速网络搜索将会出现一些方法,但你的方法就是我通常最终要做的事情.

如果用户可以编辑应用程序上的数据,则存在同步对设备进行的修改的问题.为此,您通常会设置一个对象范围"modified"标志,并且只有在修改对象时才上传该对象.

  • 您不删除它,用标记将其标记为已删除 (2认同)