Лучший подход к смене контроллера - PullRequest
0 голосов
/ 09 сентября 2011

My AppDelegate решает, какой контроллер загрузить в зависимости от того, вошел ли пользователь в систему (используя OAuth).

Итак, у меня есть

....
if ([auth isValid] == NO){
    // open the authentication screen
    AuthenticationViewController *controller = [[AuthenticationViewController alloc]init];
    self.window.rootViewController = controller;
    [controller release];
}else{
    // open the default view controller
    self.window.rootViewController = self.viewController;
}

[self.window makeKeyAndVisible];
return YES;

Когда пользователь открывает приложение для первоговремя или после Выйти , он / она будет перенаправлен на AuthenticationViewController.

Если пользователь закрывает (убивает приложение) и открывает его снова, поскольку процедура аутентификации завершена, он / онаона увидит контроллер представления по умолчанию (UITabBarController).

Каков наилучший подход для переключения между этими контроллерами в режиме реального времени?

1 Ответ

0 голосов
/ 10 сентября 2011

Что я обычно делаю в этих ситуациях, это создаю UINavigationController (устанавливая его так, чтобы в верхней части не было навигационной панели) и другой UIViewController (возможно, тот, в котором есть UITabbarController (который я установил как rootViewController для UINavigationController). Затем в viewDidLoad или viewWillAppear вы вводите логику входа в систему и, в зависимости от результата, нажимаете или выталкиваете правильный UIViewController без анимации.

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