我正在使用SDWebimage在我的tablkeview上加载图像 我正在关注this教程
现在我遇到了一个问题,如果我向下滚动并在图像加载之前回来,应用程序崩溃了。我怎么能解决这个问题?
如何取消SDWebImage下载。 我已经完成了一些答案和讨论。但是他们都没有帮助我,也无法使用它们
请帮帮我
我正在使用
[cell.UserImage setImageWithURL:[NSURL URLWithString:[SDWebArray objectAtIndex:indexPath.row]] placeholderImage:[UIImage imageNamed:@"Placeholder.png"]];
答案 0 :(得分:12)
在您的单元格中,如果要重新使用图像加载,则可以取消图像加载。在UITableViewCell
子类中添加以下内容:
-(void)prepareForReuse {
[super prepareForReuse];
[self.imageView cancelCurrentImageLoad]; // UIImageView for whatever image you need to cancel the loading for
}
一定要#import "UIImageView+WebCache.h"
。
虽然你的应用程序不应该崩溃,但是在没有看到某些代码的情况下我无法帮助你,因为无法从上面的描述中查明崩溃的原因。
答案 1 :(得分:0)
- (void)cancelAll
{
for (SDWebImageDownloader *downloader in downloaders) {
[downloader cancel];
}
[cacheDelegates removeAllObjects];
[cacheURLs removeAllObjects];
[downloadInfo removeAllObjects];
[downloadDelegates removeAllObjects];
[downloaders removeAllObjects];
[downloaderForURL removeAllObjects];
}
答案 2 :(得分:0)
在您的SDWebImage
已加载时输入以下代码:
[self.imageView cancelCurrentImageLoad];
答案 3 :(得分:0)
SWIFT 4.0
self.imageView.sd_cancelCurrentImageLoad()
如果您使用的是SDWebImage活动指示器,并且还希望将其删除
self.imageView.sd_removeActivityIndicator()