0

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

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

4

1 回答 1

1

这是一个已知问题。请参阅 AFNetworking github 页面上的此讨论以获取解决方法。

于 2013-05-14T11:40:39.953 回答