Comment basculer UITableView de la Cellule d'état sélectionné

J'ai un UITableView avec une mesure de la Cellule, la cellule contient une UIImageView et un UILabel. Maintenant, Quand je charge ma table première fois, Il charge d'une même image sur chaque cellule et labels différents, il faut partir du LabelArray.

Maintenant l'image que je suis en train de parler d'un radioButton, de Sorte que lorsque l'utilisateur clique sur la cellule, l'image change. Si l'utilisateur clique à nouveau des modifications à l'état par défaut.

Pour ce faire, j'ai utilisé cette fonction et aussi j'ai déclaré une variable boolean dans mon customcell classe appelée selectionStatus.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    CustomCell * cell = (CustomCell* )[tableView cellForRowAtIndexPath:indexPath];

    if(indexPath.row == 0)
    {
        if(cell.selectionStatus == TRUE)
        {           
            //Do your stuff
           cell.selectionStatus = FALSE;
        }
        else
        {
            //Do your stuff
            cell.selectionStatus = TRUE;
        }
    }

    if(indexPath.row == 1)
    {
        if(cell.selectionStatus == TRUE)
        {           
            //Do your stuff
           cell.selectionStatus = FALSE;
        }
        else
        {
            //Do your stuff
            cell.selectionStatus = TRUE;
        }
    }
}

Cela fonctionne bien, (mais je veux savoir si c'est une bonne façon, ou peut-on vérifier la cellule.sélectionné à la propriété) et je suis en mesure d'obtenir cet effet. Mais maintenant, quand je ferme la Vue et de l'ouvrir à nouveau la fonction

Modifier basé sur les commentaires ci-dessous avec @Anil

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {

    if([self.checkedIndexpath count]  == 0)
    {
        [tableCell.selectionImage setImage:@"xyz.png"];
    }
    else
    {        
        for (int i =0; i <[self.checkedIndexPath count]; i++)
        {
            NSIndexPath *path = [self.checkedIndexPath objectAtIndex:i];
            if ([path isEqual:indexPath])
            {               
                [tableCell.selectionImage setImage:@"abc.png"]
            }
            else
            {
                 [tableCell.selectionImage setImage:@"xyz.png"]            
             }
    }
return tableCell;

Ce qui concerne
Ranjit

Je recommande au moins à l'aide de [tableView deselectRowAtIndexPath:indexPath animated:YES]; pour désélectionner vos cellules.
Et [tableView selectRowAtIndexPath:indexPath d'animation:OUI scrollPosition:UITableViewScrollPositionNone]; pour sélectionner vos cellules. Vous donne la valeur par défaut d'IOS animations pour la sélection et la désélection des cellules.
Salut @shoughton123, merci pour votre réponse, mais qu'en est-il de la table est chargée une fois de plus
Il suffit d'enregistrer l'index sélectionné en tant que variable, lorsque la table est rechargé tout simplement utiliser ces méthodes pour reselct le même index.

OriginalL'auteur Ranjit | 2013-01-31