Bonsoir tout le monde,
Je reçois une valeur depuis un autre contrôleur que je stocke avec un didSet dans une variable de mon ViewController, ensuite, j’aimerai l’utiliser pour la passer dans un prepareForSegue (passage de donnée via un ContainerView), seulement, on dirait que le prepareForSegue est exécuté avant le viewDidLoad…
Que faire ?
Exemple de mon code:
var _event:Event?
override func viewDidLoad() {
super.viewDidLoad()
if let groupsTabBarController = self.tabBarController as? GroupsTabBarController {
_event = groupsTabBarController._event
}
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if(segue.identifier == "nav_person_tableView_segue") {
if let destinationTableViewController:PersonsTableViewController = segue.destination as? PersonsTableViewController {
// _event est Nil ici puisque c'est chargé avant le viewDidLoad
destinationTableViewController._event = _event
/*
Si je fais ça ici (ce qu'il y a dans mon viewDidLoad):
if let groupsTabBarController = self.tabBarController as? GroupsTabBarController {
_event = groupsTabBarController._event
}
Alors, ça fonctionne...
*/
}
}
}
Les idées sont les bienvenues
Bonne soirée,
Alexandre