Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 正在尝试从Firebase字段值设置几个变量。。。异步函数问题_Swift_Firebase_Google Cloud Firestore - Fatal编程技术网

Swift 正在尝试从Firebase字段值设置几个变量。。。异步函数问题

Swift 正在尝试从Firebase字段值设置几个变量。。。异步函数问题,swift,firebase,google-cloud-firestore,Swift,Firebase,Google Cloud Firestore,我试图从Firestore Firebase数据库中读取一个字段,并将其分配给全局变量。然而,变量似乎总是变量。我查看了很多论坛,他们都说这是一个异步函数。这让我很困惑,我需要帮助我的具体例子 func getDropDownOptions(){ let db = Firestore.firestore() let user = Auth.auth().currentUser let Uid = user!.uid db.collection("users").

我试图从Firestore Firebase数据库中读取一个字段,并将其分配给全局变量。然而,变量似乎总是变量。我查看了很多论坛,他们都说这是一个异步函数。这让我很困惑,我需要帮助我的具体例子

func getDropDownOptions(){
    let db = Firestore.firestore()
    let user = Auth.auth().currentUser
    let Uid = user!.uid

    db.collection("users").whereField("uid", isEqualTo: Uid).getDocuments { (snapshot, error) in

            if error != nil {
                print(error!)
            } else {
                for document in (snapshot?.documents)! {
                    if let data1 = document.data()["int1"] {
                        self.int1 = data1 as! String
                        if let data2 = document.data()["int2"] {
                            self.int2 = data2 as! String
                            if let data3 = document.data()["int3"] {
                                self.int3 = data3 as! String
                                if let data4 = document.data()["int4"] {
                                    self.int4 = data4 as! String
                                    if let data5 = document.data()["int5"] {
                                        self.int5 = data5 as! String
                                    }
                                }
                            }
                        }
                    }
                }
            }
    }
}
int1到int5已声明为变量。当我在调用此函数后尝试打印它们时,它们只返回我为它们设置的默认值

我完全不知道问题出在哪里。请帮忙