NSURLConnection / AFNetworkingOperation未使用NSURLCache

时间:2013-05-14 11:27:52

标签: ios ios6 afnetworking nsurlcache

当我使用NSURLRequestReturnCacheDataElseLoad政策发起请求时,我希望从NSURLCache获得结果,无论多大年纪。但是,系统始终尝试访问请求指向的服务器,如果服务器未应答,则返回错误。

我使用UIImageViewAFNetworking作为请求。

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];

即使直接询问NSURLCache将返回有效的NSCachedURLResponse,也不会设置图像。

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

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

1 个答案:

答案 0 :(得分:1)

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