J'ai une classe qui s'étend UITableViewCell. Dans le cadre de cet exercice, appelons-le "CustomCell". Dans CustomCell, j'ai une configuration UIImageView IBOutlet. Dans ce cas, le nom de l'instance d'image est myImage. Je souhaite afficher cette image en fonction de certains critères qui reviennent d'un serveur. Ces données sont un dictionnaire que dans cet exercice nous appellerons "serverData". Au début, UITableView rend très bien avec l'UIImageView qui apparaît dans les cellules comme il le devrait. Le problème se produit lorsque je commence à faire défiler le UITableView réel, l'image est perdue. D'une manière ou d'une autre, il n'est pas correctement mis en cache ou retiré de la file d'attente. Je ne sais pas où est le problème ou comment améliorer ce code. Voici un extrait:UITableViewCell comportement bizarre lorsque la table fait défiler hors de vue
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CustomCellIdentifier = @"CustomCellIdentifier";
CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:CustomCellIdentifier];
if (cell == nil) {
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"CustomCell"
owner:self options:nil];
cell = (CustomCell *)[nib objectAtIndex:0];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
NSDictionary *serverData = myData // previously defined.
if ([[serverData valueForKey:@"foo"] isEqualToString:@"0"])
cell.myImage.hidden = YES;
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
return cell;
}
est-ce que l'image se perdre lors du défilement (par exemple, il disparaît) ou lorsque la cellule est complètement hors de l'écran défile, puis défiler en arrière sur? –