iOS segue exécutée deux fois

J'ai une table avec vue différents types d'affichage de tableau de cellules. Dans l'une des cellules, il y a deux boutons, qui charge une-vue-contrôleur lorsqu'il est pressé. Je suis l'aide de la fonction suivante à gérer appuyez sur le bouton:

- (IBAction)leftButtonPressed:(id)sender
{
    //Getting the pressed button
    UIButton *button = (UIButton*)sender;
    //Getting the indexpath
    NSIndexPath *indPath = [NSIndexPath indexPathForRow:button.tag inSection:0];
    //Loading the proper data from my datasource
    NSArray *clickedEvent = [[[SOEventManager sharedEventManager] eventsArray] objectAtIndex:indPath.row];
    [[SOEventManager sharedEventManager] setSelectedEvent:clickedEvent[0]];
    //Everything working as it should up to this point
    //Performing seque...
    [self performSegueWithIdentifier:@"buttonSegue" sender:self];
}

Mon buttonSegue est censé pousser une nouvelle vue-contrôleur. En quelque sorte, au lieu de pousser une fois, il semble être en poussant deux fois, donc, je reçois le message d'avertissement suivant:

2013-11-27 01:48:30.894 Self-Ordering App[2081:70b] nested push animation can result in corrupted navigation bar 
2013-11-27 01:48:31.570 Self-Ordering App[2081:70b] Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.

Dans mon cas, il conduit à un crash, car il y a un événement dans lequel je veux l'app immédiatement pop la-vue-contrôleur, donc un aller retour à ma table de la vue. J'utilise un alertview pour cela et pour gérer l'événement avec les éléments suivants:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    NSString *buttonTitle = [alertView buttonTitleAtIndex:buttonIndex];
    //...
    //Additional checking of button titles....
    else if ([buttonTitle isEqualToString:NSLocalizedString(@"Vissza", nil)])
    {
        [self.navigationController popViewControllerAnimated:YES];
    }
}

Il pourrait être intéressant de noter que j'ai une autre séquence à partir de mon "réguliers" à la vue de la table de la cellule, et dans ce cas j'utilise le prepareForSegue: méthode

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@"detailSegue"])
    {
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
        SOEvent *selectedEvent = [[[SOEventManager sharedEventManager] eventsArray] objectAtIndex:indexPath.row];
        [[SOEventManager sharedEventManager] setSelectedEvent:selectedEvent];
    }
}

Dans ce cas-la-vue-contrôleur est poussé à la perfection, et même sauté immédiatement, si cela est nécessaire. Je suis en train de tester cela sur iOS7 et Xcode 5. Je n'ai pas encore rencontré un problème de ce genre auparavant, toute aide serait grandement appréciée.

êtes-vous sûr que vous avez câblé en place les actions correctement dans interface builder? peut-être que vous avez connecté le cas pour, par exemple, à la fois le toucher de l'intérieur et de la touche en bas à l'intérieur au lieu de simplement toucher l'intérieur. ou peut-être vous avez aussi assigné à la séquence de code et de nouveau dans interface builder. avez-vous vérifié? c'est une erreur commune.
Oh putain.. Vous êtes en fait juste, je céder mes boutons dans la vue de table de source de données, méthodes.. je vous Remercie pour votre réponse!

OriginalL'auteur József Vesza | 2013-11-27