6

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

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

如何取消 SDWebImage 下载。我经历了一些答案和讨论。但没有一个能帮助我,也无法使用它们

请帮我

我在用

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

4 回答 4

13

在您的单元格中,如果要重新使用图像加载,您可以取消它。在您的UITableViewCell子类中添加以下内容:

-(void)prepareForReuse {
    [super prepareForReuse];
    [self.imageView cancelCurrentImageLoad]; // UIImageView for whatever image you need to cancel the loading for
}

一定要这样做#import "UIImageView+WebCache.h"

虽然您的应用程序不应该崩溃,但如果没有看到一些代码,我无法帮助您,因为无法从您上面的描述中查明崩溃的原因。

于 2013-06-20T20:10:00.743 回答
2

斯威夫特 4.0

self.imageView.sd_cancelCurrentImageLoad()

如果您正在使用 SDWebImage 活动指示器并希望将其删除

self.imageView.sd_removeActivityIndicator()
于 2019-01-01T11:26:15.533 回答
0
 - (void)cancelAll
{
    for (SDWebImageDownloader *downloader in downloaders) {
    [downloader cancel];
    }
    [cacheDelegates removeAllObjects];
    [cacheURLs removeAllObjects];

    [downloadInfo removeAllObjects];
    [downloadDelegates removeAllObjects];
    [downloaders removeAllObjects];
    [downloaderForURL removeAllObjects];
}
于 2016-10-05T06:47:34.557 回答
0

SDWebImage当你已经加载时放置这行代码:

[self.imageView cancelCurrentImageLoad];
于 2016-10-05T06:53:29.943 回答