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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top