首页 > 代码库 > 自定义的cell上面有图片时,如果产生了重用,图片可能会错乱问题

自定义的cell上面有图片时,如果产生了重用,图片可能会错乱问题

当被重用的cell将要显示时,会调用这个方法,这个方法最大的用武之地是当你自定义的cell上面有图片时,如果产生了重用,图片可能会错乱(当图片来自异步下载时及其明显),这时我们可以重写这个方法把内容抹掉。

// Cell重用时 取消上一个Cell的请求并且设置空(个人理解)
-(void)prepareForReuse
{
    [super prepareForReuse];
    // 图片置空
    [self.iconImageView setImage:nil];
    // 取消异步缓存下载的图片
    [self cancenLoadNewsImage];
}

// cy_cancelImageRequestWithURL 相当于 sdwebimage
- (void)cancenLoadNewsImage
{
    if (!self.post.postTagSmallImageUrl || self.post.postTagSmallImageUrl == 0) return;
    [self.iconImageView cy_cancelImageRequestWithURL:[NSURL URLWithString:self.post.postTagSmallImageUrl]];
}

 

自定义的cell上面有图片时,如果产生了重用,图片可能会错乱问题