Хм.Ваше обновление помогает, хотя я все еще не уверен, что происходит.Я предполагаю, что вы устанавливаете логин как root, а затем представляете home.Но я не уверен, где или что вы пытаетесь отклонить.Если он входит в логин, то нечего отклонять, поскольку он является корневым контроллером представления.
Я бы предложил перенастроить раскадровку.Поскольку вы вручную представляете контроллеры представления, я собираюсь предположить, что раскадровка не содержит каких-либо переходов между контроллерами.Я бы предложил добавить сегменты и использовать их.
Я бы установил контроллер домашнего просмотра в качестве начального контроллера представления и установил раскадровку Main как раскадровку для загрузки в настройках приложений.Тогда весь код для загрузки раскадровки и установки корневого контроллера представления может быть удален.
Далее я бы сделал ручной модальный переход от контроллера домашнего просмотра к контроллеру входа в систему.Затем в viewDidAppear контроллера home view я бы добавил код, чтобы решить, нужен ли вход в систему, и чтобы они выполняли процедуру входа в систему.
Затем в контроллере представления входа в систему вы можете выполнить отклонение, и оно удалит представление входа в систему модели.
Это всего лишь один из многих способов сделать это, но это довольно простопошли.Вам не нужен код для загрузки или установки контроллеров корневого представления или чего-либо еще.Это просто позволяет раскадровке сделать всю работу за вас.