Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 使用RestKit和CoreData同步修改对象的正确方法_Ios_Web Services_Restkit - Fatal编程技术网

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

Ios 使用RestKit和CoreData同步修改对象的正确方法,ios,web-services,restkit,Ios,Web Services,Restkit,我需要帮助了解如何管理iPhone应用程序的API,该应用程序使用CoreData持久化远程对象。据我所知,当iOS应用程序获取远程对象时,它会加载资源路径上的所有对象 对于后续请求,我希望通过让web服务器只返回自上次更新以来已更新的对象来减少开销。我通过返回更新时间比请求的上次更新时间新的对象来执行此操作 RestKit然后解析修改后的对象并将其映射到CoreData。这个实现是使用RestKit和CoreData执行同步的正确方法,还是我缺少了中间的某个层 谢谢 通常,RESTful接口应

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

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

RestKit然后解析修改后的对象并将其映射到CoreData。这个实现是使用RestKit和CoreData执行同步的正确方法,还是我缺少了中间的某个层


谢谢

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

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


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

谢谢你的意见。如果只更新了一个或两个远程对象,If-Modified-Since方法是否返回所有远程对象?原因是我不希望服务器返回这么多对象并导致很长的加载时间。根据您的问题,我假设您可以控制服务器?这意味着你必须更新它。您可以执行与之前相同的操作,但不需要传递上一次更新,而是读取此标题。从“此功能的目的是允许以最小的事务开销高效地更新缓存的信息。”。更深入地了解一下,当从应用程序中删除远程对象时会发生什么。iOS应用程序如何知道该项目已被删除,我如何将此更改推送到设备上?