Представление контроллеров представления на независимых контроллерах представления не рекомендуется (выход из системы и вход в систему)

В настоящее время я работаю над возможностью выхода и повторного входа в приложение для iOS. Пользователь может выйти из системы, нажав на кнопку выхода из системы, которая имеет следующую логику:

let loginController = LoginController()
self.present(loginController, animated: true)

Затем в LoginController's viewDidLoad()Я реализую следующий код для удаления всех оставшихся представлений, чтобы не было никакой логики при входе в систему с другой учетной записью:

UIApplication.shared.keyWindow?.rootViewController?.dismiss(animated: false, completion: nil)

Затем за кнопкой входа в систему я использую этот код для загрузки UITabBarController (который является корневым контроллером представления при входе в систему) снова:

let tabBarController = TabBarController()
self.present(tabBarController, animated: true, completion: nil)

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

Presenting view controllers on detached view controllers is discouraged <HomeViewController: 0x7fc2e3a52400>.
Presenting view controllers on detached view controllers is discouraged <SideMenuController: 0x7fc2e286aa00>.

HomeViewController является корневым контроллером за UITabBarController а также SideMenuController это UIViewController показанный позади модуля SideMenu от jonkykong. Для записи - я не использую синглтон по умолчанию, а вместо этого инициализирую новый SideMenuManager всякий раз, когда я снова захожу в систему и устанавливаю, что SideMenuManager внутри нового UITabBarController,

Любые идеи о том, как я могу предотвратить это предупреждение? Меня это не беспокоит, так как приложение работает отлично, как я намереваюсь, но я боюсь, что оно может быть отклонено или стать ошибкой в ​​более поздней версии iOS.

0 ответов

Другие вопросы по тегам