Ciao ragazzi, è da un po che sto studiano l'Objectiv - C. allora ho queste righe di codice:
codice:
case FBSessionStateOpen: {
UIViewController *topViewController =[self.navController topViewController];
if ([[topViewController presentedViewController] isKindOfClass:[FCLogInViewController class]]) {
//rimuovo l'attuale view e ritorno alla precdente attraverso una animazione
[topViewController dismissViewControllerAnimated:YES completion:nil];
}
}
quello che non mi risulta chiaro sono queste righe di codice:
codice:
if ([[topViewController presentedViewController] isKindOfClass:[FCLogInViewController class]]) {
//rimuovo l'attuale view e ritorno alla precdente attraverso una animazione
[topViewController dismissViewControllerAnimated:YES completion:nil];
}
dentro l'if cosa vado a fare esattamente? da quello che ho capito presentedViewController è un metodo che serve per mostrare l'ultimo oggetto dello stack delle view che dovrebbe essere appunto tovViewController, inoltre prima di effettuare questo metodo, vado a fare l'introspezione verificando che la classe sia di tipo FCLogInViewController, ma precisamente quale classe andiamo a verificare che si di tipo: FCLogInViewController?.
Una volta effettuato questa riga di codice, sotto nella riga
codice:
topViewController dismissViewControllerAnimated:YES completion:nil
che cosa vado a fare? se non sbaglio sbaglio vado a togliere dallo stack la view che attualmente è in cima allo stack, ovvero quella che ho caricato nella linea di codice precedente giusto?
ovviamente ho letto la documentazione dei metodi, ma non si capisce gran che!
grazie a tutti
Marco