Pergunta

Algumas vezes quando eu empurrar ViewController no controlador de navegação, o método viewDidLoad () do controlador de vista não é chamado. E esta causa o meu aplicativo falhar. Gostaria muito de receber qualquer ajuda.

Eu esqueci de mencionar que eu carregar a vista da ponta antes de empurrá-lo para o controlador de navegação.

Obrigado, Sarah

Foi útil?

Solução

O método viewDidLoad só é chamado quando a vista é primeiro carregado a partir do arquivo nib. Se a vista já foi carregado e você empurra o ponto de vista novamente não vai disparar novamente. Dependendo do que você quer fazer, você pode querer usar viewWillAppear ou viewDidAppear vez.

Outras dicas

Uma vez que o Vista é carregado e adicionado a pilha do controlador, você não vai ver este chamado novamente. Você precisaria a fim de se retirado da pilha e empurrou novamente para vê-lo. Você sempre pode ter certeza viewWillAppear vai ficar cada vez que você retornar à exibição invocado. Isso permite que você para fazer qualquer serviço de limpeza que podem estar em ordem (que eu suponho que é o objetivo).

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