Donc, je pousse un contrôleur de vue depuis RootViewController comme :
\[self.navigationController pushViewController:anotherViewController animated:YES\] ;
MAIS, DE anotherViewController
maintenant, je veux accéder au RootViewController à nouveau.
J'essaie
// (inside anotherViewController now)
///RootViewController \*root = (RootViewController\*)self.parentViewController ; // No.
// err
RootViewController \*root = (RootViewController\*)\[self.navigationController.viewControllers objectAtIndex:0\] ; // YES!! it works
Je ne suis pas sûr que cela fonctionne et je ne suis pas sûr que ce soit la meilleure façon de le faire. Quelqu'un peut-il me dire s'il existe une meilleure façon d'obtenir le RootViewController d'un contrôleur que vous avez poussé dans le NavigationController de ce RootViewController et si la façon dont je l'ai fait est fiable ou non ?
0 votes
Ce que vous avez fait permettra d'obtenir de manière fiable le contrôleur de vue Root (le premier dans la hiérarchie de navigation), si vous voulez obtenir l'accès au contrôleur de vue "back", voir ma réponse.
0 votes
Voir aussi "Que fait le réglage du rootViewController de la UIWindow ?".