¿Es posible abrir el UINavigationController dos veces?

¿Es posible abrir el controller de navigation dos veces? Tengo esta estructura de navigation:

Ver uno —-> Ver dos —–> Ver tres

Lo que me gustaría lograr es que al tocar una fila en la Vista Tres, vuelva directamente a Ver Uno. Lo he hecho de tres a dos a través de delegado de protocolo, pero configurando el delegado a la vista Uno no funciona y configurando dos protocolos de delegado consecutivos que aparecen en el controller de navigation, me da error: actividad de controller de navigation nested (o algo similar )

Cualquier ayuda sería apreciada. ¡Gracias por adelantado!

Hay algunas opciones pop

- (UIViewController *)popViewControllerAnimated:(BOOL)animated - (NSArray *)popToRootViewControllerAnimated:(BOOL)animated - (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated 
  • La primera aparece el controller superior.
  • El segundo le permite abrir toda la stack para llegar a la raíz.
  • El tercero le permite acceder a cualquier viewController al que tenga reference. Puede get el viewController con self.navigationController.viewControllers y luego trabajar con la matriz para get el viewController específico que desea abrir.

Utilice el siguiente código. Puedes usar cualquier número en lugar de -3 para abrirlo dependiendo de tus necesidades.

El código:

 ViewController *View = [self.navigationController.viewControllers objectAtIndex:self.navigationController.viewControllers.count-3]; [self.navigationController popToViewController:View animated:YES]; 

Swift 3.0 *

Deje que controller = self.navigationController? .viewControllers [(self.navigationController? .viewControllers.count)! – 3]

  self.navigationController?.popToViewController(controller!, animated: true) 

Puedes probar esto

 [self.navigationController popToViewController:[[self.navigationController viewControllers] objectAtIndex:1] animated:YES]; 

¡¡Espero eso ayude!!

'self' parece lanzarse después del primer pop

 UINavigationController *navigationController = self.navigationController; [navigationController popViewControllerAnimated:NO]; [navigationController popViewControllerAnimated:YES];