当我使用NSURLRequestReturnCacheDataElseLoad
政策发起请求时,我希望从NSURLCache
获得结果,无论多大年纪。但是,系统始终尝试访问请求指向的服务器,如果服务器未应答,则返回错误。
我使用UIImageView
类AFNetworking
作为请求。
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上运行,因此据我所知,磁盘缓存应该没有问题?!
任何帮助表示赞赏!谢谢!