Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.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
Objective c 如何使用Restkit管理脱机后的本地更改_Objective C_Ios_Rest_Ios5_Restkit - Fatal编程技术网

Objective c 如何使用Restkit管理脱机后的本地更改

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请求结束后才发送,所以我得到了旧数据(数据没有修改) 你觉得这个怎么样?你找到更好的方法了吗?我意识到这已经很晚了,但我最近一直在寻找一

我正在使用Restkit制作在线/离线ios应用程序,但我不知道离线后如何同步

我在想:

  • 脱机时,我更新本地托管对象,并将字段local_更改推送到true
  • 当我回到internet时,在每个GET请求之前,我使用PUT请求发送所有带有local_changes=true的模型
  • 如果是新项目,我会发送一个POST请求
我的问题是,我的GET请求没有等到GET请求结束后才发送,所以我得到了旧数据(数据没有修改)


你觉得这个怎么样?你找到更好的方法了吗?

我意识到这已经很晚了,但我最近一直在寻找一种好的方法

我目前正在使用
AFHTTPClient
类中名为
setReachabilityStatusChangeBlock:(void(^)(AFNetworkReachabilityStatus))块的方法。在安装Restkit objectManager的AppDelegate中,我在AFHTTPClient对象上运行此方法。在这个方法中,我有一个if语句来检查网络的可达性。如果无法访问,则将当前日期保存在AppDelegate中。如果可以访问,并且self.offline!=零,那你就知道你刚回到网上


此时,您应该能够检查实体(使用NSPredicates)上的“updatedAt”字段,查看它们是否在上次脱机后更新或创建。然后你可以相应地发布。

你好,我接受你的回答。我几乎做了同样的事,但用了另一种方式。每次我想要请求我的API时,我都会检查我是否有互联网。如果没有,我将设置为“同步”为TRUE,稍后,我将获取所有具有to\u sync=FALSE的模型,并再次发送请求。