prepareForSegue appelé mais ne chargeant pas le prochain UIViewController
-
21-12-2019 - |
Question
J'ai affaire à une application avec deux UIViewControllers.Lorsque l'application se lance, le LoaderViewController est déclenché.Sur ce contrôleur de vue, je configure l'application pour le lancement, puis j'essaie de passer à ViewController.Le problème est que la méthode prepareForSegue est appelée correctement, mais elle ne fait rien.J'essaie de faire la navigation de la même manière que je l'ai fait auparavant.Qu'est-ce qui me manque peut-être ici ?Je suis encore très nouveau dans le développement iOS.
class LoaderViewController: UIViewController {
@IBOutlet weak var applicationLoadingIndicator: UIActivityIndicatorView!
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
override func viewDidLoad() {
super.viewDidLoad()
applicationLoadingIndicator.startAnimating()
self.performSegueWithIdentifier("ToMenuViewController", sender: self)
}
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
var vc: ViewController = segue.destinationViewController as ViewController
}
}
Voici l'image du storyboard :
MODIFIER - SOLUTION :
La solution consistait à modifier l'appel performSegueWithIdentifier en méthode viewDidAppear().
La solution
Vous ne devriez pas vous lancer dans viewDidLoad
car c'est bien trop tôt.À tout le moins, vous devriez plutôt enchaîner viewDidAppear
.