¿Cómo puedo get el rootViewController de UINavigationController en Swift

Quiero get el rootViewController de UINavigationController, funciona en Objective-c, pero cuando lo uso en Swift, el error me restring que fue incorrecto ingresar la descripción de la image aquí .

Si hago esto, agregue "como! NSArray", funciona, pero también me restring que "emitir desde '[UIViewController]' a un tipo no relacionado 'NSArray' siempre falla". introduzca la descripción de la image aquí

¿Alguien puede mostrar una mejor manera de get rootViewController sin error o recordar? Gracias.

Puedes get la raíz,

 self.navigationController!.viewControllers.first 

O como una extensión:

 extension UINavigationController { var rootViewController : UIViewController? { return viewControllers.first } } 

Y luego lo usas así:

 if let rootv = navigationController?.rootViewController { } 

replace

 let homevci = controllerArray.objectAtIndex(0) as? NBHomeVC 

con

 let homevci = controllerArray.first as? NBHomeVC 

o

 let homevci = controllerArray[0] as? NBHomeVC 
Intereting Posts