当我使用策略开始请求时,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上运行,所以据我所知,磁盘缓存应该没有问题?!
任何帮助表示赞赏!谢谢!