重启后AFImageCache返回nil

时间:2015-02-27 16:10:34

标签: objective-c ios8 afnetworking null nscache

我正在使用AFNetworking 2.5版。我在下面描述了我的问题。提前谢谢。

我的问题:

当我调试时,我看到AFNetworking下载图像并将其存储到磁盘。重新启动后,映像缓存仍保留在磁盘中,但不会从NSCache返回。

请注意,app也没有收到任何内存警告,也没有自动清除缓存。每次重新启动时,我都会检查finder中的文件并看到它们全部保留,但AFNetworking无法从缓存中接收它,并再次下载。

" UIImageView + AFNetworking.m"返回nil:

return [self objectForKey:AFImageCacheKeyFromURLRequest(request)];

我的代码:

NSURL *imageURL = [NSURL URLWithString:facility.image.list.original];
NSMutableURLRequest *imageURLRequest = [NSMutableURLRequest requestWithURL:imageURL];
[imageURLRequest addValue:@"image/*" forHTTPHeaderField:@"Accept"];
[cell.image setImageWithURLRequest:imageURLRequest placeholderImage:nil success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image) {
            if (request)
            {
                [UIView transitionWithView:cell.image
                                  duration:0.2f
                                   options:UIViewAnimationOptionTransitionCrossDissolve
                                animations:^{[cell.image setImage:image];}
                                completion:NULL];
            }
            else
            {
                [cell.image setImageWithURL:imageURL];
            }
        } failure:nil];

1 个答案:

答案 0 :(得分:1)

请参阅AFImageCache description

AFImageCache:一个仅限内存的图像缓存专用于AFNetworking,从NSCache创建子类”

如果您需要在光盘上缓存图片,可以使用其他库,例如SDWebImageCache