J'ai un problème avec mon code en sautant le if (cell == nil) après environ neuf voyages à travers le cellForRowAtIndexPath. Ensuite, les éléments de ma table commencent à se répéter et tous les neuf éléments le font. Quand je supprime la ligne if (cell == nil), la table ressort magnifiquement, avec toutes les données dans le bon ordre. Cependant, si je fais défiler vers le bas de la table, mon application plante, ce qui n'est pas une bonne solution. Des idées s'il vous plaît ??Les TableViewCells répétées s'affichent lorsque j'essaie de réutiliser les viewviewcells ... comment puis-je les afficher?
Merci!
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier] autorelease];
NSString *temp = [[views objectAtIndex:indexPath.row] objectForKey:@"racer"];
NSString *val = [[views objectAtIndex:indexPath.row] objectForKey:@"pointsScored"];
// Set up the cell...
cell.textLabel.text = temp;
cell.textLabel.font = [UIFont boldSystemFontOfSize:15];
cell.detailTextLabel.text = val;
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
[temp release];
[val release];
}
return cell;
}
Woah! Merci beaucoup! C'était le cas! Cependant, maintenant quand je l'exécute et défile vers le bas, j'obtiens cette erreur: 2010-07-12 15: 48: 05.753 TabTabTab [25374: 20b] *** - [UICGColor isEqualToString:]: sélecteur non reconnu envoyé à l'instance 0x3d9edc0 2010-07-12 15: 48: 05.755 TabTabTab [25374: 20b] *** Terminaison de l'application en raison d'une exception non interceptée 'NSInvalidArgumentException', raison: '*** - [UICGColor isEqualToString:]: sélecteur non reconnu envoyé à l'instance 0x3d9edc0' Des idées? – Rossi
Never Mind! J'ai enlevé les lignes de lancement et les choses vont bien! Je vous remercie beaucoup pour votre aide. Je l'apprécie vraiment – Rossi
Pas un problème, mais s'il vous plaît voir mon post mis à jour. Vous ne pouvez pas simplement supprimer les lignes 'release' ou vous fuir ces objets puisqu'ils ne seront jamais libérés. Au lieu de cela, il suffit de se débarrasser d'eux puisque vous n'en avez pas besoin de toute façon (voir mon code). S'il vous plaît marquer également cette question en réponse en cliquant sur le "case à cocher" à côté de lui – iwasrobbed