Проблема входа в систему в приложении с вкладками - PullRequest
0 голосов
/ 10 января 2010

У меня есть 3 вкладки в моем приложении. в моем Appdelegate у меня есть ссылка на loginview, где я выскакиваю loginview, если пользователь не вошел. есть метод.

 - (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-я вкладка - это окно настроек, и у меня там есть кнопка выхода. вначале я вижу правильное имя пользователя, но как только я нажимаю «Выйти», я вызываю тот же метод, который показан выше, с помощью делегата приложения. logview корректно отображается во всплывающем окне, и если я вхожу в систему как другой пользователь, он по-прежнему отображает предыдущее имя пользователя (поскольку третье представление панели вкладок уже загружено) так что мой вопрос
1) где лучше поставить loginview
2) как мне сбросить приложение без перезагрузки после выхода из системы
Я надеюсь, что мой вопрос ясен. или я хочу дать более подробную информацию.
спасибо.
Обновление: в основном я хочу выгрузить все представления при выходе из системы и начать с самого начала.

Ответы [ 2 ]

0 голосов
/ 14 января 2010

что-то, что сработало для меня, и я надеюсь, что это правильный способ. Вот что я сделал.

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

Я надеюсь, что это выгружает все представления из памяти и заставляет их загружаться снова, когда переключается панель вкладок. Дайте мне знать, если это не очень хорошо.

0 голосов
/ 10 января 2010

Лучшим методом было бы создать публичный метод changeLoginName: на вашем контроллере настроек и вызывать этот метод из представления входа в систему, когда пользователь вошел в систему. Вы можете получить доступ к этому представлению через панель вкладок, если вы не сохраните указатели на это где-нибудь еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...