ios - 使用 AFNetworking 保存/缓存文件并将其用于在线和离线访问

标签 ios caching uiwebview afnetworking nsurlcache

我们的应用程序在 UIWebView 中提供内容,它可以链接到 PDF 文件、视频文件、文档文件等...我们还允许用户通过下载所有所需的文件。一旦所有文件都在本地可用,我们希望 WebView 即使在用户在线时也能使用这些本地文件。

  1. 如果我们设置足够大的 NSURLCache 并使用 AFNetworking 来下载 文件并将其保存在磁盘上 开箱即用吗?
  2. 有没有办法将下载的内容(文件)放入缓存中,然后 在 Web View 中加载内容,以便它使用缓存的文件?

最佳答案

您可以通过子类化 AFHTTPSessionManager 来实现这一点。在这里您可以检查客户端是否离线。然后您可以更改缓存策略或强制应用使用缓存数据。

if (![[AFNetworkReachabilityManager sharedManager] isReachable]) {
    [request setCachePolicy:NSURLRequestReturnCacheDataElseLoad];
}

关于ios - 使用 AFNetworking 保存/缓存文件并将其用于在线和离线访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45144237/

相关文章:

iphone - 试图给另一个类(class)的按钮发消息

algorithm - 如何解决这个线性编程问题?

javascript - UIWebView 上的 CSS 加载动画

c++ - Windows 上奇怪的文件加载时间

ios - uiwebview 不适用于 Swift 2.0

ios - 阻止从 UIWebView 打开 appstorelink

ios - NSUserDefaults 或 NSCache - 存储数据的最佳方式

ios - 没有标题的字段的 XLForm formValidationErrors 显示 "(null)"

ios - 使用 updateValue :forCharacteristic:onSubscribedCentrals on OS X 时蓝牙崩溃

Bash:缓存命令导致别名?