今天在项目中,使用SDWebImage加载图片,总有图片加载不出来。使用
[self.centerIV sd_setImageWithURL:[NSURL URLWithString:self.sourceDataArr[currentImageIndex]] placeholderImage:self.placeHolderImage completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) {
//在这里输出下error
NSLog(@"error== %@",error);
}];
输出错误信息:
Domain=NSURLErrorDomain Code=-1001
最后找到答案:
原来在一开始用SDWebImage加载图片的时候我们经常使用:
[self.centerIV sd_setImageWithURL:<#(NSURL *)#> placeholderImage:<#(UIImage *)#>];
这个方法,此方法在加载过程中因为网络或者别的原因加载失败,SDWeb会把当前加载的URL地址加入到blacklist,第二次加载这个URL的时候它直接跳过,不再去请求网络数据了。
解决方法是使用了下面的方法:
[self.centerIV sd_setImageWithURL:[NSURL URLWithString:self.sourceDataArr[currentImageIndex]] placeholderImage:self.placeHolderImage options:SDWebImageRetryFailed];