在AFNetworking中使用Core数据作为浏览器缓存

时间:2012-01-13 14:49:37

标签: ios afnetworking

我在DB上阅读了一些关于多线程访问的内容,但仍然不确定与异步网络下载一起进行读/写操作的最佳方法。 例如,我将有一个包含来自网络图像的页面,因此我使用AFNetworking通过其URL检索它们,但我想首先检查我的数据库并在其上(或磁盘)写入检索到的图像以备将来使用。 在不阻止UI的情况下(如滚动时),最好的方法是什么? 如果我使用读取/写入的单例来执行此操作,则会阻塞主线程。 感谢您的任何提示。

1 个答案:

答案 0 :(得分:3)

AFNetworking不是这方面的工具。相反,您可以利用NSURLCache的内置功能 - 特别是Peter Steinberger's fork of SDURLCache

-applicationDidFinishLaunchingWithOptions:中,执行NSURLCache +setSharedCache:,其实例为SDURLCache(分配了一定量的磁盘空间)。在请求检查缓存之前,通过UIWebView(以及AFNetworking进行的所有请求)将自动路由NSURLCache。它是不显眼的,插入式的,并且正确地遵循缓存指令,它应该很好地解决你的问题。