Objective c 如何使用Restkit管理脱机后的本地更改
我正在使用Restkit制作在线/离线ios应用程序,但我不知道离线后如何同步 我在想:Objective c 如何使用Restkit管理脱机后的本地更改,objective-c,ios,rest,ios5,restkit,Objective C,Ios,Rest,Ios5,Restkit,我正在使用Restkit制作在线/离线ios应用程序,但我不知道离线后如何同步 我在想: 脱机时,我更新本地托管对象,并将字段local_更改推送到true 当我回到internet时,在每个GET请求之前,我使用PUT请求发送所有带有local_changes=true的模型 如果是新项目,我会发送一个POST请求 我的问题是,我的GET请求没有等到GET请求结束后才发送,所以我得到了旧数据(数据没有修改) 你觉得这个怎么样?你找到更好的方法了吗?我意识到这已经很晚了,但我最近一直在寻找一
- 脱机时,我更新本地托管对象,并将字段local_更改推送到true
- 当我回到internet时,在每个GET请求之前,我使用PUT请求发送所有带有local_changes=true的模型
- 如果是新项目,我会发送一个POST请求
你觉得这个怎么样?你找到更好的方法了吗?我意识到这已经很晚了,但我最近一直在寻找一种好的方法 我目前正在使用
AFHTTPClient
类中名为setReachabilityStatusChangeBlock:(void(^)(AFNetworkReachabilityStatus))块的方法。在安装Restkit objectManager的AppDelegate中,我在AFHTTPClient对象上运行此方法。在这个方法中,我有一个if语句来检查网络的可达性。如果无法访问,则将当前日期保存在AppDelegate中。如果可以访问,并且self.offline!=零,那你就知道你刚回到网上
此时,您应该能够检查实体(使用NSPredicates)上的“updatedAt”字段,查看它们是否在上次脱机后更新或创建。然后你可以相应地发布。你好,我接受你的回答。我几乎做了同样的事,但用了另一种方式。每次我想要请求我的API时,我都会检查我是否有互联网。如果没有,我将设置为“同步”为TRUE,稍后,我将获取所有具有to\u sync=FALSE的模型,并再次发送请求。