Pergunta

eu tenho um tabbar 3 em meu aplicativo. na minha AppDelegate eu tenho uma referência para loginview onde estou popingup loginview se o usuário não está conectado in.here é método.

 - (void)LoginView
{
loginView = [[[LoginViewController alloc] initWithNibName:@"LoginView" bundle:nil] autorelease]; 
UINavigationController* nav = (UINavigationController*)[tabBarController.viewControllers objectAtIndex:0]; 
loginView.navC = nav; [nav presentModalViewController:loginView animated:YES];
}

3 tabbar é uma configuração de ver e eu tenho um botão signout lá. a primeira vez que eu pode ver o nome de usuário correto, mas assim que eu clicar sair eu estou chamando mesmo método mostrado acima usando delegado aplicativo. LogView recebe popedup corretamente e se eu signin como usuário diferente ainda mostrar o nome de usuário anterior (porque a visão 3ª tabbar já está carregado) Então, minha pergunta é
1) qual é o melhor lugar para colocar loginview
2) Como posso reiniciar o aplicativo w / o reiniciá-lo após signout
Espero que a minha pergunta é clara. ou eu estou disposto a dar mais detalhes.
obrigado.
Update: Basicamente eu quero descarregar tudo vista sobre signout e começar desde o início.

Foi útil?

Solução 2

algo que funcionou para mim, e eu espero que esta é a maneira correta de doing.here é o que eu fiz.

NSArray *vc= tabBarController.viewControllers;
for (int i = 0; i < [vc count]; i++) {
    UINavigationController *nc = [vc objectAtIndex:i];
    if (nc == tabBarController.selectedViewController) {
        continue;
    }
    [nc popToRootViewControllerAnimated:NO];
}

Espero que este descarrega toda a vista da memória e forçá-los a carregar novamente quando tabbar está ficando switched.let-me saber se isso não é bom caminho.

Outras dicas

Melhor método seria criar um changeLoginName público:. Método no seu controlador configurações e chamar esse método a partir da visão de login quando o usuário está conectado Você pode acessar essa visão através de sua barra de abas, se você não manter ponteiros para ele em outro lugar.

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