使用RestKit为应用程序实现缓存行为的最佳方法是什么

时间:2014-03-11 09:40:14

标签: ios caching networking restkit restkit-0.20

我需要帮助确定在我的应用中实施缓存的最合适和最方便的方法,以便它提供下面描述的行为。

应用程序需要显示对象列表A.它显示来自缓存的对象,同时从服务器请求更新的列表版本。如果请求成功,则缓存的对象将完全被返回的对象替换。然后刷新呈现给用户的列表。

现在,我通过拥有一个名为DataManager的类的专用单例来实现此行为,该类包含ApiClient的一个实例(向服务器发送请求)和{的一个实例{1}}(基本上是一组访问Core Data对象的便捷方法)。 CacheProvider中的每个方法都是这样的:

DataManager

但我有一种感觉,我正在重新发明轮子,必须有一些标准的方法来使用RestKit获得相同的行为。我是对的,还是应该继续使用我的方法?

1 个答案:

答案 0 :(得分:1)

我会使用NSFetchedResultsController来显示结果。它不关心它们是否cached,它只是使用数据存储中的内容并观察其中的更改(因此您不需要自己的回调块)。

RestKit提供了一个名为fetch request blocks的功能,它不是一个好名字,但你用它来删除数据存储中的孤立对象 - 即所有旧的缓存对象。

使用这两种方法可能会大量减少您需要编写的自定义代码量。