1
完了ハンドラからuidを取得しようとしているため、パスを作成してFirebase DBからいくつかのアイテムを取得できるようになっていますが、は時間が。完了ハンドラが想定どおりに呼び出されない
私の問題は、dbRef
が既に呼び出された後、私の完了ハンドラが呼び出されて、それ以外の方法で呼び出されないことです。 私は私のコードは、行1にFIRAuth.auth()が実行されると考え?...、2 dbRef = FIRDatabase ....
override func viewDidLoad() {
super.viewDidLoad()
FIRAuth.auth()?.addAuthStateDidChangeListener({ (auth:FIRAuth, user:FIRUser?) in
if let userSignedIn = user {
self.myuserLogged = userSignedIn.uid
print("Welcome buddy \(self.myuserLogged)")
}
})
print("brother \(self.myuserLogged)")
dbRef = FIRDatabase.database().reference().child("Users/\(myuserLogged)")
startObservingDB()
}
したがって、基本的にはこのように動作します。addAuthStateDidChangeListenerはデータベースから情報を取得してauthとuser変数を取り込みますが、コード実行はdbRefに続き、addAuthStateDidChangeListenerがタスクを終了すると、 'in'の後でコードを実行し続けます。 。私はそれを得たと思う。 – bibscy
@bogdanbarbulescu右の音です。 – dersvenhesse