在addStateDidChangeListener之后执行函数

时间:2019-05-14 18:39:56

标签: ios swift firebase firebase-authentication

我正在尝试实现一种在应用启动时检测某个值是否为nil的方法,如果是,则应显示特定的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,它也会再次更改视图。

在firebase函数进行首次调用后,如何调用所需的if语句?

1 个答案:

答案 0 :(得分:0)

您必须

1-加载窗口使窗口变暗,直到调用该异步方法为止,然后代码将设置根vc

2-做

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

由于value = 0表示相同的初始vc,因此无需重新设置