pushViewController no hacer nada en la aplicación múltiple pestaña?
-
27-09-2019 - |
Pregunta
Tengo una aplicación de iPhone basado en una ventana con varias pestañas y un controlador de la barra de navegación que aparece en todas estas fichas. Es una aplicación de tiempo / clima, así que quiero que el usuario elija primero una ciudad, a continuación, se presentará con la información de tiempo en cada pestaña para esa ciudad (que pueden ir de nuevo a la ciudad seleccionar desde cualquier ficha utilizando la barra de navegación. He seguido este guía: http://www.youtube.com/watch?v=LBnPfAtswgw pero agregó más fichas con la misma configuración. Por lo que obtener la ficha actual y crear una instancia del delegado de la aplicación de esta manera:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSUInteger currTab;
AppDelegate_iPhone *delegate = [[UIApplication sharedApplication] delegate];
currTab = delegate.rootTabController.selectedIndex;
...
Esto funciona bien, vuelve correcto pestaña seleccionada cuando se le llama en viewDidAppear. Entonces mi código para empujar a la vista correspondiente (en este caso, UIForecastViewController) de esta manera:
if (currTab == 0) {
if (self.forecastViewController == nil) {
UIForecastViewController *chosenCity = [[UIForecastViewController alloc] initWithNibName:@"UIForecastViewController" bundle:nil];
// note forecastViewController is a variable, not the class
self.forecastViewController = chosenCity;
[chosenCity release];
}
forecastViewController.title = [NSString stringWithFormat:@"%@ Forecast",[cityArray objectAtIndex:row]];
[delegate.navController pushViewController:forecastViewController animated:YES];
}
Todo lo demás funciona como debería, pero la pushViewController no hace nada. He buscado infructuosamente una solución, hay ejemplos similares ligeramente por ahí, pero ninguno utilizando el delegado de la aplicación o me da ningún resultado. Con suerte he mencionado todo lo que debería tener, cualquier ayuda / consejo será muy apreciada! Saludos.
Solución
La propiedad navController
de delegate
es nula. Me gustaría empezar por mirar el código que se supone que debe ser el establecimiento de esto.
algún motivo no se está usando esto?
[self.navigationController pushViewController:forecastViewController animated:YES];