self.title está retornando (null)
-
06-07-2019 - |
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?
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.