SDWebImage取消下载

时间:2013-06-20 19:42:42

标签: iphone ios objective-c sdwebimage

我正在使用SDWebimage在我的tablkeview上加载图像 我正在关注this教程

现在我遇到了一个问题,如果我向下滚动并在图像加载之前回来,应用程序崩溃了。我怎么能解决这个问题?

如何取消SDWebImage下载。 我已经完成了一些答案和讨论。但是他们都没有帮助我,也无法使用它们

请帮帮我

我正在使用

  [cell.UserImage setImageWithURL:[NSURL URLWithString:[SDWebArray objectAtIndex:indexPath.row]]  placeholderImage:[UIImage imageNamed:@"Placeholder.png"]];

4 个答案:

答案 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()