/ / Set NSString Object, prepareForSegue a través de UINavigationController - ios, object-c

Establecer NSString Object, prepareForSegue a través de UINavigationController - ios, object-c

Intento establecer un valor NSString dinámico cada vez que se presiona una celda de tabla en mi aplicación. Puedo pasar la variable a mi UINavigationController personalizado con el siguiente código:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
NSString *page = [menuItems objectAtIndex:indexPath.row];
[[segue destinationViewController] setGrabPage: page];

}

El problema es ese grabPage solo se establece en NavigationController y no en la vista superior que se muestra dentro del controlador de navegación. ¿Cómo paso este valor a la vista superior?

Respuestas

0 para la respuesta № 1

Si su destinationViewController es un UINavigationController, debe convertirlo en un UINavigationController y obtener el rootViewController del controlador de navegación.

Conviértalo al tipo de este primer controlador y estará listo para comenzar.

EDITAR: Código de muestra añadido

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
NSString *page = [menuItems objectAtIndex:indexPath.row];

UINavigationController *nav = (UINavigationController *)[segue destinationViewController];
MyViewController *vc = (MyViewController *)(nav.viewControllers[0]);
[vc setGrabPage: page];
}