1

J'ai un UITableViewController qui pousse des vues en cliquant sur une cellule:Le contrôleur de navigation pousse deux fois ma vue?

switch(indexPath.row) { 
       case kFollowerSectionUpdatesCountRow:     
        stockTwitsView.reloadUpdates = TRUE; 
        stockTwitsView.showHomeButton = TRUE; //** reversed, true means hide the button 
        stockTwitsView.profileName = self.user_name; 
        stockTwitsView.msgSource = self.message_source; 
        [self.navigationController pushViewController:stockTwitsView animated:YES]; 
        break; 
       case kFollowerSectionFollowerCountRow:     
        followSectionDetailView.username = self.user_name; 
        followSectionDetailView.loadFollowers = TRUE; 
        [self.navigationController pushViewController:followSectionDetailView animated:YES]; 
        break; 
       case kFollowerSectionFollowingCountRow:     
        followSectionDetailView.username = self.user_name; 
        followSectionDetailView.loadFollowing = TRUE; 
        [self.navigationController pushViewController:followSectionDetailView animated:YES]; 
        break; 
      } 

Tout fonctionne très bien, sauf pour kFollowerSectionUpdatesCountRow. Il va pousser la vue, mais si je clique sur le bouton de retour, il charge à nouveau la même vue au lieu de revenir en arrière? Je dois de nouveau cliquer pour revenir à mon écran d'origine. Cela ne se produit pas avec les autres vues qui sont poussées.

Vous ne savez pas pourquoi?

MISE À JOUR: Ce qui est étrange est cette section est la 3ème section de mon UITableView. Si je le change à la 2ème section, le contrôleur de vue est seulement poussé une fois. Pourquoi?

Répondre

1

Il y a des chances que vous poussiez le viewcontroller deux fois. Difficile de voir à partir de cet extrait de code, mais vérifiez les appels de viewWillAppear dans votre contrôleur de vue stockTwitsView pour voir combien de fois il apparaît (et s'ils sont différents, objets uniques).

0

Appelez-vous par hasard pushViewController lorsque vous revenez en arrière? Si oui, ne faites pas cela. Pas besoin d'appeler pushViewController lorsque vous revenez à l'appelant parent.

+0

Je n'appelle rien quand je reviens. Je laisse le système d'exploitation gérer tout. –

Questions connexes