ios - 在AFNetworking中将核心数据用作浏览器缓存

标签 ios afnetworking

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

最佳答案

AFNetworking并非用于此目的的工具。相反,您可以利用NSURLCache的内置功能-特别是Peter Steinberger's fork of SDURLCache

-applicationDidFinishLaunchingWithOptions:中,对NSURLCache +setSharedCache:实例(分配了一定数量的磁盘空间)执行SDURLCache。通过UIWebView(和AFNetworking)发出的所有请求都将在发出检查缓存之前自动通过NSURLCache路由。它是不干扰用户的,直接插入的,并且可以正确地遵循缓存指令,并且可以很好地解决您的问题。

关于ios - 在AFNetworking中将核心数据用作浏览器缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8852327/

相关文章:

ios - 当应用程序处于后台状态 Swift 时暂停计时器

objective-c - 使用 AFNetworking 从中获取 JSON null

ios5 - AFNetworking - 默认情况下,它的 HTTP 请求是否使用 cookie 发送?

ios - 如何将正确的 viewModel 注入(inject)单个 viewController

iPhone - 使用 iOS Game Kit 开发游戏

ios - 使用背景上下文时无法在不同上下文中的对象之间建立关系

objective-c - AFNetworking JSON-RPC 预期内容类型 - 错误域=AFNetworkingErrorDomain

iphone - 将 UIWebView 呈现为图像/PDF 具有视觉伪像

ios - Swift 将 cURL -user key 转换为 AFNetworking 的 json

IOS/AF网络: enqueue two JSON operations and then compare the returned NSArrays