Какой правильный механизм представления контроллера?
Предисловие:
Я — web-разработчик который пытается разобраться в разработке под iOS.
Проблема:
При загрузке приложения, сервис аунтентификации должен проверять наличие токена авторизации, и в зависимости от результата (существует токен или нет) редиректить на нужный контроллер:
1. В случае если пользователь не залогинен — показывать экран логина;
2. Если пользователь имеет токен — показывать экран профиля;
Вопрос:
Какой самый эффективный механизм решения данной проблемы?
На мой взгляд механизм должен быть следующий:
MainCotroller, который является NavigationView, при загрузке опрашивается сервис и в зависимости от результата пушит нужный контроллер.
Этот вариант кажется самым очевидным и правильным. Но т.к. я не имею достаточного опыта в разработке мобильных приложений, и не знаю best practices, могу ошибаться.
Прошу сообщество помочь мне в решении данной проблемы.
1) Некий контроллер (не NavigationController), пусть будет AuthController, запускается из AppDelegate и обрабатывает логику связанную с токеном.
2) Далее, в AppDelegate, по запросу (isLoggedIn или isTokenAvailable, как вам удобно) к объекту класса AuthController после его инициализации, получаете true или false
3) В зависимости от ответа в п.2 вы пушите в NavigationController либо ЛогинВьюКонтроллер либо HomeViewController