1

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

4

1 回答 1

3

AFNetworking 不是用于此目的的工具。相反,您可以利用 --特别是Peter Steinberger 的 SDURLCache 分支的NSURLCache内置功能。

-applicationDidFinishLaunchingWithOptions:中,使用(分配了一定数量的磁盘空间)NSURLCache +setSharedCache:的实例。SDURLCache通过UIWebView(和,就此而言)发出的所有请求将在发出请求以检查缓存之前AFNetworking自动路由。NSURLCache它不引人注目,插入式,并且正确地遵循缓存指令,它应该很好地解决您的问题。

于 2012-01-16T23:42:54.470 回答