如何在 SDwebimage 中使用成功和失败块
Posted
技术标签:
【中文标题】如何在 SDwebimage 中使用成功和失败块【英文标题】:How to use success & failure block in SDwebimage 【发布时间】:2014-03-11 09:02:06 【问题描述】:我有最新版本的SDWebimage
,但它没有成功和失败
我尝试了以下方法但SDwebimage
没有方法
[self.imageView setImageWithURL:[NSURL URLWithString:self.imageURL]
placeholderImage:[UIImage imageNamed:@"YourPlaceholder.png"]
success:^(UIImage *image)
// remove animation
failure:^(NSError *error)
NSLog(@"thumbnail error: %@",error);
// handle failed download
];
有人知道如何在 SDwebimage
setImageWithURL
或任何其他替代品中添加成功和失败块
如果从 URL 获取图像时出现错误,我想处理
【问题讨论】:
【参考方案1】:试试这个:
[self.imageView setImageWithURL:[NSURL URLWithString:imageURL]
placeholderImage:[UIImage imageNamed:@"YourPlaceholder.png"]
completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType)
//... completion code here ...
];
【讨论】:
【参考方案2】:Swift 3 的解决方案:
cell.imageView?.sd_setImage(with: url) (image, error, cache, urls) in
if (error != nil)
//Failure code here
cell.imageView.image = UIImage(named: "ico_placeholder")
else
//Success code here
cell.imageView.image = image
目标 C 的解决方案:
[cell.imageView sd_setImageWithURL:url
placeholderImage:nil
completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL)
if (error)
//Failure code here
self.imageView.image = [UIImage imageNamed:@"ico_placeholder"];
else
//Success code here
self.imageView.image = image;
];
希望你们觉得这很有用。
【讨论】:
【参考方案3】: imageView.sd_setImageWithURL(NSURL(string: urlString), completed:
(image, error, cacheType, url) in
// do your custom logic here
)
swift 2.0 的示例代码
【讨论】:
【参考方案4】:它有完成块
completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType)
你可以检查error是否为nil,那么一切都很好。
【讨论】:
是的,这就是我现在正在做的事情以上是关于如何在 SDwebimage 中使用成功和失败块的主要内容,如果未能解决你的问题,请参考以下文章
为什么SDWebImage在decodeImageWithImage方法中使用@autoreleasepool块?
iOS SDWebImage 加载网络图片失败,重新运行才有图片
通过 SdWebImage 设置图像给出“错误代码=-1003”并使用 CFNetwork 诊断日志“Err(-65554)”