现有在线应用中的核心数据同步

时间:2015-02-25 06:17:39

标签: ios core-data afnetworking restkit offline-caching

在Appstore上开发了一个具有多个版本的大型应用程序。我使用AfNetworking作为网络框架。到目前为止,一切都在线,就像我进行异步API调用并加载数据并在互联网不可用时显示错误。

现在我们计划将整个应用程序转为支持离线缓存模式。

我试图避免样板和许多不必要的代码,并寻找任何可以处理非常复杂的应用程序的库。我几乎完成了RestKit,因为我准备了几个样本,它似乎正在同步。

由于我必须删除大量的AFNetworking代码,API调用和解析以替换RestKit,因此我无法仅使用样本来说服自己100%。

我需要建议我的方法是否正确并牢记RestKit的优缺点是否应该能够使用RestKit实现完整的离线同步应用程序?

OR

我应该继续使用AFNetworking代码并从头开始构建一些东西。如果您更喜欢这种方法,那么您是否有一些建议如何开始?

2 个答案:

答案 0 :(得分:5)

RestKit(目前)建立在AFNetworking之上,因此您可以同时使用它们。 RestKit的好处在于它可以将您的数据直接映射到Core Data,并为您提供非常简单的离线功能。

您的主要问题是,两个框架都没有提供任何机制来确定离线时更改的内容并上传这些更改,您需要开发一个方案来自行完成。

所以,如果你已经在AFN周围有映射代码并将其放入Core Data中,那么RestKit目前还没有为你提供很多优惠。这实际上取决于您未来的期望以及您需要做多少额外的映射。使用RestKit,您将来不需要编写任何显式映射代码,这样您就可以专注于实际的业务逻辑。

答案 1 :(得分:2)

如果你开始使用AFNetworking最佳解决方案,那就是MagicalRecord。以下是此方法的使用示例:https://github.com/keencode/AFN-Magical-Record-Example