Et une fois mon traitement terminé, dans mon viewController qui a été affiché par la fonction précédente, je le cache avec la cette fonction :
> dismiss(animated: true, completion: nil)
Mon soucis, c’est que quand le dismiss est appelé, je voudrais faire une action dans mon viewController de base. Or, on ne repasse pas dans le viewWillAppear par exemple dans ce contexte. Je pense qu’il va falloir utiliser la complétion du dismiss mais je ne vois pas trop comment le faire.
En effet, (en fait, il y a même un TabBarController et un NavigationController en cascade !)
Et du coup, ça fonctionne bien
Voilà donc le truc complet si ça peut servir
if let tabBarController = presentingViewController as? UITabBarController {
if let navigationController = tabBarController.selectedViewController as? UINavigationController {
let rootViewControllers = navigationController.viewControllers
let rootViewController = rootViewControllers[0]
if let profileViewController = rootViewController as? ProfileViewController {
profileViewController.updateDisplay()
}
if let orderViewController = rootViewController as? OrderViewController {
orderViewController.updateDisplay()
}
}
}
dismiss(animated: true, completion: nil)