SDWebImage + UITableViewCell, falsches Bild beim Scrollen?

Bei der Verwendung von SDWebImage zum Laden von Bildern in eine UIImageView in einer benutzerdefinierten UITableViewCell ist ein Problem aufgetreten. Dies ist mein Code beim UITableView-Delegaten:

    static NSString *userTableId = @"userTableId";
    UserDetailsTableViewCell *cell = (UserDetailsTableViewCell *)[tableView dequeueReusableCellWithIdentifier:userTableId];
    NSDictionary *user = [userList objectAtIndex:indexPath.row];
    NSInteger position = indexPath.row + 1;
    [cell.userDetailsView loadFromDictionary:user WithIndex:position ForCharitie:false];
        cell.userDetailsView.delegate = self;

    cell.userDetailsView.delegate = self;
    return cell;

Und hier ist mein Code für loadFromDictionary:

-(void) loadFromDictionary: (NSDictionary *) dic  WithIndex: (NSInteger) index ForCharitie: (BOOL) isCharitie{
    NSDictionary *userImageDic = [dic objectForKey:@"image"];
    NSString *url =[userImageDic objectForKey:@"url"];

    [userImage setImage:[UIImage imageNamed:@"defaultAvatar"]];
    if ([url class] != [NSNull class]){
        [userImage setImageWithURL:[NSURL URLWithString:url] placeholderImage:[UIImage imageNamed:@"defaultAvatar"]];
    }
}

Jetzt ist das Problem, wenn ich nach unten scrolle, bevor einige Bilder fertig geladen sind. Angenommen, ich sehe die ersten 8 Zeilen und die Zeilen 1, 2 und 3 laden noch ihre Bilder. Jetzt scrolle ich zu 9-16defaultAvatar für alle von ihnen, und nach ein paar Sekunden (ich denke, wenn die Bilder der Zeilen 1,2 und 3 fertig heruntergeladen sind), ändern sich die Bilder in den Zellen 9, 10 und 11 zu denen, die zu 1,2 und 3 gehören. Ich ziehe an Ich weiß nicht, ob es eine Möglichkeit gibt, das Herunterladen von Bildern zu stoppen, wenn ich die Zelle wieder verwende, oder so ähnlich. Danke und Entschuldigung für mein Englisch!

Antworten auf die Frage(0)

Ihre Antwort auf die Frage