J'ai un StartViewController
avec un Segue mis en place un FinishViewController
.Erreur lors de tentative de présenter ViewController sur CLICK mais pas la méthode feu
Le StartViewController
a un bouton et minuterie. Si la minuterie est épuisée, elle appelle la méthode finish
. Mais l'utilisateur peut cliquer sur le bouton stop pour passer au FinishViewController
; Si l'utilisateur clique sur le bouton stop
, FinishViewController
est chargé.
Si la minuterie appelle la méthode finish
je reçois l'erreur:
Warning: Attempt to present < FinishViewController: 0x7c15a1d0> on < StartViewController: 0x7c252d20> whose view is not in the window hierarchy!
Je ne comprends pas pourquoi. Le code est littéralement le même.
Voici le code.
- (IBAction)stop:(id)sender {
[timer invalidate];
timer = nil;
[self performSegueWithIdentifier:@"segue_finished" sender:self];
}
- (void) finish {
[timer invalidate];
timer = nil;
[self performSegueWithIdentifier:@"segue_finished" sender:self];
}
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSLog(@"prepareForSegue %@", [segue identifier]);
if ([[segue identifier] isEqualToString:@"segue_finished"]) {
NSLog(@"segue to finished. ");
FinishViewController * fvc = (FinishViewController*)segue.destinationViewController;
}
}
Une aide?
Il semble que votre méthode 'finish' soit appelée lorsque votre StartViewController n'est pas affiché. – algrid