Munissez-vous simplement d'une référence à la vue cible contrôleur dans prepareForSegue: méthode et réussir tous les objets que vous devez. Voici un exemple...
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Make sure your segue name in storyboard is the same as this line
if ([[segue identifier] isEqualToString:@"YOUR_SEGUE_NAME_HERE"])
{
// Get reference to the destination view controller
YourViewController *vc = [segue destinationViewController];
// Pass any objects to the view controller here, like...
[vc setMyObjectHere:object];
}
}
RÉVISION: Vous pouvez également utiliser performSegueWithIdentifier:expéditeur: méthode pour activer la transition vers un nouveau point de vue basé sur une sélection ou appuyez sur le bouton.
Par exemple, considérons j'ai eu deux contrôleurs. La première contient trois boutons et le second a besoin de savoir lequel de ces boutons a été pressé avant la transition. Vous pourriez fil les boutons jusqu'à une IBAction dans votre code qui utilise performSegueWithIdentifier: la méthode, c'est comme ça...
// When any of my buttons are pressed, push the next view
- (IBAction)buttonPressed:(id)sender
{
[self performSegueWithIdentifier:@"MySegue" sender:sender];
}
// This will get called too before the view appears
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"MySegue"]) {
// Get destination view
SecondView *vc = [segue destinationViewController];
// Get button tag number (or do whatever you need to do here, based on your object
NSInteger tagIndex = [(UIButton *)sender tag];
// Pass the information to your destination view
[vc setSelectedButton:tagIndex];
}
}
Espérons que cette aide. J'ai téléchargé un petit projet de test de sorte que vous pouvez voir ce que je veux dire basés sur de simples boutons et une vue unique de l'application (avec un supplément). Vous pouvez l'obtenir ici.