我正在使用RestKit for iOS To app。我已经使用restkit完成了以下操作: 1.以json格式从rest api中提取服务器对象。 2.删除核心数据中的孤立对象,这些对象不再出现在服务器上。
现在我必须构建以下场景,如果设备上有互联网并且用户正在添加新数据项,那么我应该先做什么,即我应该首先在本地存储新数据然后发布到服务器或首先我将数据发布到服务器并将其拉回到设备上?
其次,如果互联网在设备上不可用,用户插入新的数据项,则在本地保存数据,在互联网上可用性如何将新添加的数据项发布到服务器,即我应该遵循什么方法,如果restkit可以帮助我处理这种情况?
答案 0 :(得分:2)
RestKit包括可达性监控(实际上是AFNetworking的一部分)。因此,您可以设置在状态更改时运行的块:
[objectManager.HTTPClient setReachabilityStatusChangeBlock:...
通常,在所有情况下都在本地存储项目。将项目推送到服务器后,在项目上设置同步日期或标志以确认其已更新。
这是一个关于如何管理服务器的本地修改和更新的更广泛的问题。您可能希望整体方案列出dirty
对象并将更新推送到服务器,并让服务器响应设置每个项目的同步时间。如果您使用2个日期(一个用于最后一个本地修改,一个用于远程同步),那么模型上的快速谓词提取将告诉您哪些对象是脏的并且需要被推送到服务器。