Frage

Ich habe eine 3 Tabbar in meiner app. in meinem AppDelegate habe ich einen Verweis auf Loginview, wo ich bin, wenn popingup Loginview-Benutzer in.here nicht angemeldet ist, ist Methode.

 - (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 ist ein Einstellungen anzeigen, und ich habe eine signout Taste. zum ersten Mal kann ich richtige Benutzername sehen, aber sobald ich auf Abmelden i gleiche Methode nenne oben mit AppDelegate gezeigt. logview bekommt popedup richtig und wenn ich signin als andere Benutzer es noch früheren Benutzernamen zeigen (da 3. Tabbar Ansicht bereits geladen ist) so meine Frage ist
1) das ist der beste Ort, Loginview
setzen 2) Wie setze ich die app w / o es nach signout
Neustart Ich hoffe, meine Frage ist klar. oder ich bin bereit, mehr Details zu geben.
Dank.
Update: Grundsätzlich möchte ich alle Blick auf signout entladen und von Anfang an beginnen.

War es hilfreich?

Lösung 2

etwas, was für mich gearbeitet, und ich hoffen, dass dies die richtige Weg ist, um doing.here ist, was ich tat.

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];
}

Ich hoffe, das entlädt alle die Ansicht aus dem Gedächtnis und sie zwingen, wieder zu laden, wenn Tabbar ist switched.let bekommen Sie mich wissen, wenn dies nicht guter Weg ist.

Andere Tipps

Bessere Methode wäre, eine öffentliche changeLoginName zu erstellen. Methode auf, um die Einstellungen Controller und rufen Sie diese Methode aus der Login-Ansicht, wenn der Benutzer angemeldet ist Sie diese Ansicht durch Ihre Tab-Leiste zugreifen kann, wenn Sie nicht halten Zeiger auf sie irgendwo anders.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top