À l'aide de dequeueReusableCellWithIdentifier personnalisées de cellules

Disons que j'ai

- (UITableViewCell*)tableView:(UITableView*) cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
    static NSString *cellID = @"Cell Identifier";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];

    if (!cell)
    {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellID];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }
    else
    {
        return cell;
    }

    UILabel * nameLabel = [[UILabel alloc] initWithFrame: CGRectMake( 0, 15, box.size.width, 19.0f)];
    nameLabel.text = name;
    [nameLabel setTextColor: [UIColor colorWithRed: 79.0f/255.0f green:79.0f/255.0f blue:79.0f/255.0f alpha:1.0f]];
    [nameLabel setFont: [UIFont fontWithName: @"HelveticaNeue-Bold" size: 18.0f]];
    [nameLabel setBackgroundColor: [UIColor clearColor]];
    nameLabel.textAlignment = NSTextAlignmentCenter;
    [cell addSubview: nameLabel];
}

Qu'est-ce que cela va faire?

Si la cellule n'est pas nul, et disons que vous êtes à la ligne 5, il sera de retour la cellule de la ligne 5 avec le texte exact des étiquettes, etc?

En gros, ma question est, si vous avez personnalisé les cellules avec des étiquettes, imageviews, etc. Comment utilisez-vous cellForRowAtIndexPath avec dequeueReusableCellWithIdentifier?

il en est de même pour tableviewcell si il est de coutume ou pas. Vous obtenez une cale de la cellule de l'objet et de réinitialiser tous ses états, puis ajoutez votre contenu. Donc, oui, vous aurez pour nettoyer le contenu de la ou des étiquettes d'images (par la mise à zéro) et de fournir de nouveaux contenus.
Dans ce code, il n'y a aucun moyen d'accéder à nouveau à la UILabel objet, sauf par l'énumération des sous-vues de la cellule qui est assez laid. Mieux vaut utiliser une sous-classe de UITableViewCell qui a un UILabel de la propriété de sorte qu'il est facilement accessible

OriginalL'auteur | 2013-07-16