2010-04-26 2 views
3

Quand j'ai poussé un contrôleur, y at-il un moyen d'obtenir le contrôleur qui l'a poussé (sans l'envoyer)? Ou le premier?iPhone - Obtenir le contrôleur qui m'a poussé

Merci

+2

Dans une application bien conçue, un contrôleur de vue ne doit pas savoir ou de soins qui vue contrôleur poussé sur la pile. Les contrôleurs View ne doivent pas communiquer entre eux. – TechZen

Répondre

4

Vous pouvez obtenir tous les contrôleurs de vue de la propriété. navigationController.viewControllers Et le contrôleur qui a poussé le contrôleur actuellement visible est [navigationController.viewControllers objectAtIndex:[navigationController.viewControllers count] - 2].

+0

Avertissement: toutes les applications ne disposent pas d'un UINavigationController. Dans tous les cas, vous ne pouvez pas obtenir quel contrôleur vous a poussé directement à travers la propriété parentViewController? – progrmr

0

Swift Version:

let numberOfElements: Int? = self.navigationController?.viewControllers.count 
let vc: ViewController = self.navigationController?.viewControllers[numberOfElements! - 2] as ViewController 
Questions connexes