Выполнить функцию после addStateDidChangeListener - PullRequest
0 голосов
/ 14 мая 2019

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

if value == 0 {
            let controller = storyboard.instantiateViewController(withIdentifier: "InitialViewController") as! InitialViewController
            self.window?.rootViewController = controller
            self.window?.makeKeyAndVisible()
}

Я также вызываю следующую функцию в didFinishLaunchingWithOptions: Auth.auth().addStateDidChangeListener { auth, user in ..., которая прослушивает состояние пользователя auth.

Работает нормально, но только на секунду - поскольку функция Firebase требует своего времени для выполнения, она снова меняет представление, даже если value == 0.

Как я могу вызвать желаемоеоператор if после функции firebase сделал свой первый вызов?

1 Ответ

0 голосов
/ 14 мая 2019

Вам нужно либо

1 - затемнить окно с загрузкой, пока не будет вызван этот асинхронный метод, тогда его код установит корень vc

2- Do

if value != 0 { 
   // go to home
}

как value = 0 означает тот же начальный vc, поэтому нет необходимости переустанавливать его

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...