Мое приложение имеет следующий поток, если пользователь вошел в системуDismissViewController Swift
Loading Screen -----> Main Screen -----> Rest of App
и следующий поток, если он не является:
Loading Screen -----> Login Screen -----> Main Screen -----> Rest of App
Теперь я реализую функцию Выход , Я добавил следующий код в main Screen
:
func handleLogout() {
if self.presentingViewController != nil {
var vc = self.presentingViewController
while ((vc!.presentingViewController) != nil) {
vc = vc!.presentingViewController
}
vc?.dismissViewControllerAnimated(true, completion: {
})
}
}
Это прекрасно работает, если 1st
путь следует (пользователь вошел в систему, когда была запущена программа) как приложение возвращается к Loading Screen
, а затем загружает Login Screen
как и ожидалось. Однако, если был проведен путь 2nd
(пользователь не был зарегистрирован, когда приложение было запущено, и Login Screen
был использован) этот код приводит к открытию Login Screen
и сбою всего процесса выхода из системы. Есть ли способ, которым я могу гарантировать, что Loading Screen
является тем, который всегда загружается этим кодом независимо от того, какой из двух путей был соблюден.
Вы с помощью раскадровки? Если это так, просто создайте сеанс размотки для загрузки экрана и вызовите это из того места, где вам нужно – Paulw11