50 votes

Comprendre performSegueWithIdentifier

Quelqu'un peut-il être plus informé que moi pour expliquer performSegueWithIdentifier:sender: moi? J'ai besoin de changer de vue (et de classe) et de transférer quelques NSStrings et ID vers la classe de cette vue. Je me demandais si c'était possible avec performSegueWithIdentifier:sender:

Merci!

77voto

jrturton Points 64875

Tout d'abord, vous devez avoir mis en place la segue dans votre storyboard et de lui donner l'identificateur approprié. (Cliquez sur la séquence (panneau de gauche), puis cliquez sur Attributs (panneau de droite).

Vous pouvez ensuite lier cela à des boutons ou de la sélection des lignes de la table à partir de votre storyboard, ou vous pouvez appeler dans le code à l'aide d' performSegueWithIdentifier:sender:.

Après cela, votre point de vue contrôleur sera envoyé à l' prepareForSegue:sender: message. Vous remplacer cette méthode dans votre vue contrôleur de sous-classe, et peuvent configurer la vue cible contrôleur comme suit:

TargetViewController *targetVC = (TargetViewController*)segue.destinationViewController;
targetVC.string1 = string1;

Et ainsi de suite. L' sender dans cette méthode fera l'objet que vous utilisez comme l' sender dans l'appel de méthode d'origine.

9voto

retainCount Points 2258

La plupart enchaîne sont automatiquement lancées comme le résultat d'une interaction de l'utilisateur. Par exemple, si vous avez un segue qui est connecté à partir d'un bouton à une scène dans un storyboard, lorsque le bouton est tapé la séquence lancera automatiquement.

Parfois, il est logique de déclencher une séquence par programme - par exemple, vous avez un des Scores Élevés de la scène qui s'affiche lorsque l'utilisateur gagne une partie d'un jeu. Il n'y a aucun moyen d'exprimer le concept de gagner dans le scénario lui-même, de sorte que vous pouvez créer à la place un segue, d'attribuer un identifiant à elle, et d'invoquer -performSegueWithIdentifier:sender: lors de l'exécution.

Les autres segue méthode connexe sur UIViewController, -prepareForSegue:sender:, est la méthode que vous devez remplacer pour effectuer une personnalisation sur la destination-vue-contrôleur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X