SDWebImage + UITableViewCell, imagem errada ao rolar?
Estou tendo um problema ao usar SDWebImage para carregar imagens em um UIImageView dentro de um UITableViewCell personalizado. Este é o meu código no delegado UITableView:
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;
E aqui está o meu código para 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"]];
}
}
Agora, o problema é se eu rolar para baixo antes que algumas imagens terminem de carregar. Por exemplo, digamos que eu vejo as 8 primeiras linhas, e as linhas 1, 2 e 3 ainda carregam suas imagens, agora eu desligo para 9-16, vejo odefaultAvatar
para todos eles, e depois de alguns segundos (acho que quando as imagens das linhas 1,2 e 3 terminam o download), as imagens nas células 9, 10 e 11 mudam para as que pertencem a 1,2 e 3. Eu não sei se existe uma maneira de parar o download das imagens quando eu reutilizar a célula, ou algo assim. Obrigado e desculpe pelo meu inglês!