Exceção: selector não reconhecido ... quando se tenta empurrar um controlador de vista na pilha de navegação
-
22-07-2019 - |
Pergunta
Eu estou tentando empurrar um controlador de vista na pilha de navegação com seguinte código no meu método buttonPressed
-(IBAction) viewButtonPressed:(id)sender {
PersonDetailViewController *personDetailViewController = [[PersonDetailViewController alloc] initWithNibName:@"PersonDetailViewController" bundle:nil];
[self.navigationController pushViewController:personDetailViewController animated:YES];
[personDetailViewController release];
}
Eu corri o depurador e lança a exceção após a linha followin é passou por cima a partir do código acima.
[self.navigationController pushViewController:personDetailViewController animated:YES];
Esta é chamada bastante normal ... ele tem trabalhado muitas vezes antes, sem quaisquer problemas. Alguma idéia do que estou em falta aqui? Eu estou preso neste momento e não é capaz de aprofundar ainda mais.
Aqui estão as mensagens de erro no console depois de executar o depurador
2009-10-30 18:15:11.127 Untitled[6089:20b] * -[NSCFString image]: unrecognized selector sent to instance 0x3050
2009-10-30 18:15:11.129 Untitled[6089:20b] * Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFString image]: unrecognized selector sent to instance 0x3050'
2009-10-30 18:15:11.130 Untitled[6089:20b] Stack: (
807902715,
2460638779 ...
Solução
O problema estava em um dos métodos de inicialização onde eu estava definindo o item botão voltar incorretamente.
Outras dicas
Gostaria de começar por olhar para dentro os métodos de ciclo de vida vista - viewWillAppear
, viewDidAppear
etc -. Na classe PersonDetailViewController
para invocações de um método chamado image
em alguma instância do objeto
Você também pode tentar percorrendo esses métodos em uma tentativa de diminuir quando essa invocação é feita.