Jak przejść do nowego kontrolera widoku bez modelu bez użycia kontrolera UINavigationController?

Następujące zdaje się być typowym przypadkiem użycia: uruchamiasz aplikację za pomocą kontrolera LoginViewController, który wyświetla ekran logowania. Po pomyślnym zalogowaniu się użytkownik chce wyświetlić główny widok aplikacji (nazwijmy go MainViewController).

Nie chcesz umieszczać kontrolera LoginViewController w kontrolerze UINavigationController, a następnie wcisnąć na niego MainViewController, ponieważ nie ma powodu, aby trzymać kontroler LoginViewController na dole stosu, ponieważ nigdy nie będzie ponownie wyświetlany. Ponadto, w kolejnych uruchomieniach aplikacji, określisz, że masz już jakiś token logowania i nigdy nie skończysz pokazując kontrolera LoginViewController, więc wystąpiłaby niespójność od uruchomienia do uruchomienia stosu kontrolera nawigacyjnego .

Z tego samego powodu nie chcesz również modalnie przedstawiać MainViewController z LoginViewController (jeśli jest modalny, to utrzyma załadowany kontroler LoginViewController).

Nie chcesz także ustawiać rootViewController okna na MainViewController (gdzie wcześniej był ustawiony na LoginViewController), ponieważ nie pozwoli to na przejście.

Chciałbym uzyskać informacje na temat tego, czy moja logika powyżej jest błędna, a właściwie jeden z tych scenariuszy jest właściwy? A jeśli nie, co robią inni w tym scenariuszu?

questionAnswers(2)

yourAnswerToTheQuestion