【问题标题】:Can I specify an NSURLCache for a specific UIWebView or NSURLConnection?我可以为特定的 UIWebView 或 NSURLConnection 指定 NSURLCache 吗?
【发布时间】:2013-04-23 15:26:20
【问题描述】:

有什么方法可以指定使用不同的 NSURLCache?我的应用程序正在处理潜在的私人信息。我想保留多个缓存,这样我可以比默认的 sharedCache 更频繁地清除私有缓存。

我见过[NSURLCache setSharedCache] 方法,但我想知道是否有办法将缓存webview 设置为webview 或request to request。

任何输入/反馈/讨论都会很有用。谢谢。

【问题讨论】:

  • 您确定是否可行?我也很想在我的应用中使用它
  • 不,我还没有找到可靠的答案。我读到的大多数信息都让我相信我必须覆盖整个机制。

标签: ios cocoa caching webview nsurlconnection


【解决方案1】:

NSURLConnectionDataDelegate 中有回调可能会有所帮助。

- (NSCachedURLResponse *)connection:(NSURLConnection *)connection willCacheResponse:(NSCachedURLResponse *)cachedResponse;

connection:willCacheResponse: 让代理有机会检查和修改 NSCachedURLResponse,如果为原始 NSURLRequest 启用缓存,加载程序将缓存该 NSCachedURLResponse。从此委托返回 nil 将阻止资源被缓存。

请注意,缓存响应的 -data 方法可能会返回 true 的自动释放内存副本 数据,不应用作通过连接接收和累积数据的替代方法:didReceiveData:

【讨论】:

  • 我可以看出您的意思是这种方法有用的地方。我必须使用自己的缓存机制并将 cachedURLResponse 放入不同的存储桶中。似乎可以。我认为这不适用于 UIWebView
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-11
  • 1970-01-01
  • 1970-01-01
  • 2017-11-07
  • 1970-01-01
  • 1970-01-01
  • 2020-01-18
相关资源
最近更新 更多