NSURLConnection/AFNetworkingOperation未使用的NSURLCache

问题描述:

当我通过NSURLRequestReturnCacheDataElseLoad策略开始请求时,无论年龄多大,我都希望从NSURLCache得到结果(如果有的话)。但是,系统总是尝试访问请求指向的服务器,并且如果服务器没有应答,则返回错误。NSURLConnection/AFNetworkingOperation未使用的NSURLCache

我使用UIImageView类别的AFNetworking作为请求。即使直接询问NSURLCache会返回一个有效NSCachedURLResponse

NSURLRequest* request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:60.0]; 
__weak __typeof(self) weakSelf = self; 
NSLog(@"[%@] %@", request.URL, [[NSURLCache sharedURLCache] cachedResponseForRequest:request]); // this returns an instance of NSCachedURLResponse! 
[self setImageWithURLRequest:request placeholderImage:nil success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) { 
    __typeof(weakSelf) self = weakSelf; 
    self.image = image; 
} failure:NULL]; 

这不会设置图像。

该应用程序仅在iOS6上运行,因此就我所知,应该没有磁盘缓存问题?!

任何帮助表示赞赏!谢谢!

这是一个已知问题。有关解决方法,请参阅AFNetworking github page的相关讨论。

+0

好的,谢谢你的信息! – 2013-05-14 15:34:40