prepareForSegue n'est pas appelé quand je clique sur un bouton, sans l'aide de performSegueWithIdentifier

Basé sur le Stanford iOS sûr, je suis à jouer avec vue modal contrôleurs. Dans la démo, ils ont un bouton qui lance une vue modal et lorsqu'il est cliqué, la fonction prepareForSegue est appelé. J'ai imité le code et la mise en œuvre de mon projet avec la seule différence est que mon démo est sur un iPhone storyboard et c'est sur l'iPad.

J'ai remarqué que, bien que mon modal-vue-contrôleur est à venir, il n'appelle pas prepareForSegue avant que. J'ai cherché sur le Stanford projet pour voir où ils peuvent enregistrer le segue comportement avant prepareForSegue est appelé, mais il n'y a pas de preuves. Quelqu'un peut jeter quelque lumière sur ce point. J'ai cherché un débordement de pile et de tous j'ai trouvé que les utilisateurs étaient manquants à l'appel de mise en œuvre de performSegueWithIdentifier. Toutefois, dans le Stanford démonstration qu'ils n'ont jamais le faire.

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier hasPrefix:@"Create Label"]) {
        AskerViewController *asker = (AskerViewController *)segue.destinationViewController;
        asker.question = @"What do you want your label to say?";
        asker.answer = @"Label Text";
        asker.delegate = self;
    }

}

Voici un exemple de table de montage séquentiel:
prepareForSegue n'est pas appelé quand je clique sur un bouton, sans l'aide de performSegueWithIdentifier

Voici un exemple de mon storyboard:
prepareForSegue n'est pas appelé quand je clique sur un bouton, sans l'aide de performSegueWithIdentifier

Dans le débogueur quand je m'arrête au Stanford le code de Démonstration de la pile d'appel montre que le storyboard est l'exécution d'une séquence d'action, que dois-je configurer mon storyboard pour obtenir le même résultat?
prepareForSegue n'est pas appelé quand je clique sur un bouton, sans l'aide de performSegueWithIdentifier

  • Comment savez-vous prepareForSegue: n'est pas appelée? Je parie qu'il est appelé. La seule façon d'en être sûr est de mettre un point d'arrêt sur la première déclaration en elle. Avez-vous fait?
  • Oui j'ai, c'est pourquoi je me suis posé la question. Dans ma démo, mon prepreForSegue n'est pas appelé, mais dans le Stanford démonstration qu'il est.
InformationsquelleAutor Amro Younes | 2014-02-07