我们的应用程序支持离线事件。这意味着我们希望在本地持久保存新核心数据对象的创建以及对现有对象的任何修改。然后,当应用程序再次上线时,我们会自动将这些更改(以及任何依赖项)推送到服务器。
我认为 RestKit 会支持这样的操作,但目前离线时我们将创建/修改存储在本地缓存中。如果我终止该应用程序,这些更改将不会保留。而且 RestKit 也没有尝试将这些项目发布到它们最初预期的端点。
我找不到任何文档来支持我们在这里需要的东西。
有没有办法让 RestKit 做我们需要的事情?
如果没有,我如何让离线更改持久保存到磁盘(而不是缓存)?那么将这些标记为未上传到服务器是否合适,然后在我们重新联机时尝试上传它们?
我还应该考虑其他重要事项吗?
最佳答案
在撰写本文时,RestKit 不支持该功能。
要保存到磁盘,您需要在 MOC 上调用 saveToPersistentStore:
而不仅仅是 save:
。
您需要自己实现一个方案,观察应用程序的“在线”状态并扫描数据存储以查找需要上传的内容(这意味着维护一个标志以指示是否已上传)。
关于ios - RestKit 重新上线时自动 POST/PUT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28050861/