Core data RestKit-脱机存储后发送添加/编辑/删除的对象
当用户添加、编辑或删除没有internet连接的对象时,我通过标记对象并将其与核心数据一起保存,从而为核心数据使用RestKit提供离线支持 如果internet再次可用,我将获取所有添加/编辑/删除的对象,将它们保存在数组中,然后使用常规方法和循环将它们放到服务器上Core data RestKit-脱机存储后发送添加/编辑/删除的对象,core-data,restkit,request-queueing,Core Data,Restkit,Request Queueing,当用户添加、编辑或删除没有internet连接的对象时,我通过标记对象并将其与核心数据一起保存,从而为核心数据使用RestKit提供离线支持 如果internet再次可用,我将获取所有添加/编辑/删除的对象,将它们保存在数组中,然后使用常规方法和循环将它们放到服务器上 ... [objectManager postObject:self.company mapResponseWith:[companyMapper inverseMapping] delegate:self]; ... 阵列列表
...
[objectManager postObject:self.company mapResponseWith:[companyMapper inverseMapping] delegate:self];
...
阵列列表-获取添加的公司
-FetchedEditedCompanys
-获取添加的内容
-fetchedEditedContacts
-获取删除的联系人 Init方法(已编辑公司的示例) 在updateAccountToServer的末尾,我发布了对象(self.company)及其到服务器的映射
...
[objectManager postObject:self.company mapResponseWith:[companyMapper inverseMapping] delegate:self];
...
问题:
我正在寻找一个更有效的解决方案,当用户确实更新了一些对象,并且(特别的一个)确实添加了一些新对象时,因为与所有编辑/删除方法相比,服务器会为将要存储的每个新创建的对象返回一个ID
1) 避免对每个编辑的对象使用例如updateAccountToServer,而是发送对象数组2) 与RKObjectManager一起使用RKRequestQueue() 在我看来,1)将很难实现,因为每个请求的resourcePath都包含一个唯一的ID,所以我尝试了2)但没有使用绑定每个请求的映射
[syncQueue addRequest:[[RKObjectManager sharedManager] objectLoaderWithResourcePath:tempString delegate:self]];
谢谢你的想法 我和其他一些人正在积极地研究一个开发分支,以便将其自动集成到RestKit中 我们正在RK内部实现一个同步管理器,它监视NSManagedObjectContext的更改,如果网络不可用,则将这些请求排队,直到网络返回 我们希望获得更多关于代码的帮助/想法,因此如果您能在此页面上告诉我们更多关于您的用例的信息:
对于1,您可以将插入/更新/删除对象的NSArray封装到新对象中,然后将其发布到服务器。为此,您需要确保在修改的对象上设置了正确的位,以便服务器进行解密,还需要确保服务器可以接收该对象,并对其进行解构以获得修改对象的数组 如果该分支是RestKit 0.10的分支,则该分支现在似乎处于非活动状态。有人在restkit0.20.x的类似分支上工作吗?