11

我想在 AFNetworking 中强制缓存,即使缓存标头是 Cache-Control:·private 没有其他与缓存相关的标头,我知道这将是一个基于时间的缓存,我对此没有任何问题。

即使超出 AFNetworking 范围,也请告知。

我正在制作一个 iOS 5 iPad 应用程序,这里是我试图缓存的 XML 文件的头文件:

HTTP/1.1·200·OK(CR)(LF)
Cache-Control:·private(CR)(LF)
Content-Type:·text/xml;·charset=utf-8(CR)(LF)
Server:·Microsoft-IIS/7.5(CR)(LF)
X-AspNet-Version:·2.0.50727(CR)(LF)
X-Powered-By:·ASP.NET(CR)(LF)
Date:·Wed,·11·Jul·2012·18:42:27·GMT(CR)(LF)
Connection:·close(CR)(LF)
Content-Length:·20464(CR)(LF)
(CR)(LF)

提前致谢。

4

3 回答 3

0

当你创建 NSURLRequest (+ requestWithURL:cachePolicy:timeoutInterval: 或 – initWithURL:cachePolicy:timeoutInterval:) 时,你可以将它的 cachePolicy 设置为以下值。

enum {
   NSURLRequestUseProtocolCachePolicy = 0,
   NSURLRequestReloadIgnoringLocalCacheData = 1,
   NSURLRequestReloadIgnoringLocalAndRemoteCacheData =4,
   NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData,
   NSURLRequestReturnCacheDataElseLoad = 2,
   NSURLRequestReturnCacheDataDontLoad = 3,
   NSURLRequestReloadRevalidatingCacheData = 5
};
typedef NSUInteger NSURLRequestCachePolicy;

关于 cachePolicy 的更多细节可以在这里找到。

于 2013-04-18T01:44:53.577 回答
0

我发现此链接可能对您有所帮助:https ://github.com/AFNetworking/AFNetworking/issues/495

基本上,您可以覆盖 NSURLConnection。

于 2012-11-25T02:50:16.713 回答
0

In addition to override NSURLConnection, I'd like to use external cache management, such as EGOCache. This will be more flexible that you can change to other cache system anytime.

于 2012-11-26T01:59:25.953 回答