prepareForSegue non appelé
-
28-10-2019 - |
Question
J'utilise l'application de détail du modèle maître.J'ai ajouté un segment modal de SplitViewController et lui ai donné l'identifiant "DisplayLoginView".
J'appelle ce qui suit depuis mon detailViewController:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:YES];
[self.splitViewController performSegueWithIdentifier:@"DisplayLoginView" sender:self.splitViewController];
}
J'ai également la méthode prepareForSegue définie dans detailViewController:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSLog(@"Source Controller = %@", [segue sourceViewController]);
NSLog(@"Destination Controller = %@", [segue destinationViewController]);
NSLog(@"Segue Identifier = %@", [segue identifier]);
if ([segue.identifier isEqualToString:@"DisplayLoginView"])
{
PrometheusLoginViewController *loginViewController = (PrometheusLoginViewController *)segue.destinationViewController;
loginViewController.delegate = self;
}
}
Une idée de la raison pour laquelle il n'est pas appelé?
La solution
Vous demandez au splitViewController d'effectuer le segue, mais vous définissez prepareForSegue dans le detailViewController.Ils doivent être sur le même objet pour que prepareForSegue soit déclenché.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow