Ho un imbattuto in un pezzo di codice al pop a un viewcontroller specifica in una pila di navigazione come di seguitoPopping ad una viewcontroller specifica in una pila di navigazione
for (UIViewController* viewController in self.navigationController.viewControllers) {
if ([viewController isKindOfClass:[MyGroupViewController class]]) {
MyGroupViewController *groupViewController = (MyGroupViewController*)viewController;
[self.navigationController popToViewController:groupViewController animated:YES];
}
}
L'obiettivo è quello di pop alla MyGroupViewController. Ma non sto capendo questa linea di codice.
MyGroupViewController *groupViewController = (MyGroupViewController*)viewController;
Che cosa sta succedendo esattamente qui. Non penso che una nuova istanza di MyGroupViewController venga creata qui.
"Qui viewController è un riferimento della classe base UIViewController di MyGroupViewController ma viewController mantiene l'oggetto MyGroupViewController in modo che possiamo digitare cast qui". Questo era esattamente quello che stavo cercando. Quindi viene utilizzata la stessa istanza di MyGroupViewController, che si trova già nello stack di navigazione. Destra? –
Sì, è la stessa istanza che è stata inserita prima .. –