PrepareForSegue non chiamato
-
28-10-2019 - |
Domanda
Sto usando l'applicazione di dettaglio principale del modello. Ho aggiunto un seguito modale da SplitViewController e gli ho dato l'identificatore "DisplayLogInview".
Chiamo quanto segue dal mio dettaglio ViewController:
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:YES];
[self.splitViewController performSegueWithIdentifier:@"DisplayLoginView" sender:self.splitViewController];
}
Ho anche il metodo PrepareForSegue definito in dettaglio ViewController:
- (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;
}
}
Qualche idea sul perché non si chiama?
Soluzione
Stai chiedendo a SplitViewController di eseguire il seguito, ma stai definendo PrepareForSegue nel dettaglio ViewController. Devono essere sullo stesso oggetto per essere attivato da PrepareForSegue.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow