3

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

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

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

谢谢!

4

1 回答 1

9

通常 RESTful 接口应该尝试“回归基础”。在您的情况下,我建议使用 HTTP Header If-Modified-Since。它比传递另一个参数稍微干净一些,因为 RestKit 将在您不做任何事情的情况下处理 HTTP 状态响应。

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

如果用户可以在您的应用程序上编辑数据,则存在同步在设备上所做的修改的问题。为此,您通常设置对象范围“已修改”标志,并且仅在对象被修改时才上传对象。

于 2012-07-02T09:04:42.427 回答