viewDidAppear não disparando em TabBarController> NavigationController> UITableView
-
22-07-2019 - |
Pergunta
Actualmente tenho um controlador de barra de abas configurado com uma NavigationController em uma das guias, então eu tenho um UITableView nib configurado para que a visão Navigationcontrollers. Tudo isso foi criado através de IB e quero mantê-lo assim. Tipo de como este tutorial http: //twilloapp.blogspot .com / 2009/05 / how-to-incorporá-navegação-controller.html agora a vista cargas perfeitamente quando ViewDidLoad é chamado. Mas quando eu, em seguida, carregar mais vistas através do código IE
MyApp_AppDelegate *delegate = [[UIApplication sharedApplication] delegate];
UINavigationController *nav = (UINavigationController *)delegate.controller.selectedViewController;
newViewController = [[newViewController alloc] initWithNibName:@"newView" bundle:nil];
[nav pushViewController:newViewController animated:YES];
//At this point the view works! and loads
Se eu tentar voltar com a navegação da barra de ferramentas ele vai voltar para a minha bela vista anterior
Agora eu preciso atualizar o tableview quando eu voltar, mas chamando viewDidAppear
não funciona.
Eu tentei adicionar UINavigationDelegate
ao mesmo ViewController
classe como o tableview e, em seguida, chamando - (void)navigationController:(UINavigationController *)navigationController didShowViewController:
Mas isso não funcionou. Eu também tentei adicionar o mesmo delegado como o controlador de barra de abas e adicionando o mesmo navigationController didShowViewController:
lá, mas que também falhou.
Como faço para obter esta tabela para atualizar toda vez as cargas de vista?
Solução 2
descobri que estava faltando a declaração Delegado no arquivo Interface. doh! Também eu tentei que em muitos lugares só acabou trabalhando quando eu adicionei-lo para o NavigationControllers primeira vista (meu ver tabela)
Outras dicas
Você não deveria ter que chamar viewDidAppear
do seu código. Cocoa Touch deve fazer isso por você.
Chama o método reloadData
da exibição de tabela para obtê-lo para atualizar seu conteúdo.