Pergunta

Usando um controlador de navegação, eu estou empurrando uma nova visão e definindo o título de dinamicamente:

- (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 ser uma matriz mutável criado a partir de uma alimentação de XML.

Agora, quando eu ir para o próximo ponto de vista, ele exibe corretamente, no entanto, quando eu tento fazer um NSLog dentro do novo viewController, ele registra como (null):

NSLog(@"The title is: %@", self.navigationItem.title);

2009-10-27 11: 30: 20,416 myApp [50289: 20b] O título é: (nulo)

Eu preciso usar o título como um parâmetro para pegar um serviço de web de consulta ...

Qualquer pensamento?

Foi útil?

Solução

Se você está tentando registrar o título em -viewDidLoad do controlador ou algo semelhante, ele está falhando, porque você está definindo o título após empurrar o controlador de vista. Definir o título do controlador antes de empurrá-lo e ele deve funcionar melhor.

A única outra razão poderia ser nulo é se a variável selectedCountry é nulo. Log que diretamente para certificar-se.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top