self.title está regresando (nulo)
-
06-07-2019 - |
Pregunta
Utilizando un controlador de navegación, estoy presionando una nueva vista y estableciendo el título de forma dinámica:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
int countryIndex = [indexPath indexAtPosition: [indexPath length] - 1];
NSString *selectedCountry = [[countrysData objectAtIndex: countryIndex] objectForKey: @"title"];
scheduleState *scheduleStateViewController = [[scheduleState alloc] initWithStyle:UITableViewStyleGrouped];
[self.navigationController pushViewController:scheduleStateViewController animated:YES];
scheduleStateViewController.title = selectedCountry;
[scheduleStateViewController release];
CountryData es una matriz mutable creada a partir de un feed xml.
Ahora, cuando voy a la siguiente vista, se muestra correctamente, sin embargo, cuando intento hacer un NSLog dentro del nuevo viewController, se registra como (nulo):
NSLog(@"The title is: %@", self.navigationItem.title);
2009-10-27 11: 30: 20.416 myApp [50289: 20b] El título es: (nulo)
Necesito usar el título como parámetro para obtener una consulta de servicio web ...
¿Alguna idea?
Solución
Si está intentando registrar el título en el -viewDidLoad
del controlador o algo similar, está fallando porque está configurando el título después de presionar el controlador de vista. Establezca el título del controlador antes de presionarlo y debería funcionar mejor.
La única otra razón por la que podría ser nulo es si la variable selectedCountry
es nil. Registre eso directamente para asegurarse.