/ / Pop controller di visualizzazione per un controller di visualizzazione comune - ios, ogg-c, controller di interfaccia utente

Controller di visualizzazione pop per un controller di visualizzazione comune: ios, ogg-c, controller di interfaccia utente

Ho una app come Dashboard e ad un certo puntovorrebbe tornare al controller di visualizzazione "Dashboard". Non riesco a cambiare il controller della vista radice. Il modo in cui ho realizzato questo compito è da un'istanza statica. Io uso questo codice:

static DashboardViewController *instance;
+ (instancetype) instance {
return instance;
}

Questa istanza è impostata su viewDidLoad su self.

Quindi quando voglio fare il pop su questo controller uso:

  [self.navigationController popToViewController:[DashboardViewController instance] animated:YES];

Cosa mi piacerebbe sapere se questa è la strada da percorrere o dovrebbe essere diverso?

risposte:

4 per risposta № 1

Prova questo,

for (UIViewController  *viewController in [self.navigationController viewControllers]) {

//you can also use NSClassFromString(@"DashboardViewController") instead of [DashboardViewController class]
if ([viewController isKindOfClass:[DashboardViewController class]]) {
[self.navigationController popToViewController:viewController animated:YES];
}
}

3 per risposta № 2
for (UIViewController *controller in self.navigationController.viewControllers)
{
if ([controller isKindOfClass:[DashboardViewController class]])
{
//Do not forget to import DashboardViewController.h

[self.navigationController popToViewController:controller animated:YES];
break;
}
}