Firebase闭包内未修改类变量

时间:2018-07-17 06:17:00

标签: swift firebase firebase-realtime-database closures

我有使用universalGender代码从firebase检索的类变量observeSingleEvent。我将此变量设置为等于从Firebase获取的值。一些奇怪的事情:当我在Firebase闭包中print变量时,我得到了预期的输出。但是,一旦我访问此变量或将其打印在闭包之外,它就等于一个空字符串,这就是我将该变量初始化为类顶部的内容。这是我的代码。请帮忙!

var universalGender=String()

@IBAction func nextButtonTapped(_ sender: Any) {
    let databaseRef=Database.database().reference()
    databaseRef.child("Users").child(Auth.auth().currentUser!.uid).observeSingleEvent(of: .value) { (snapshot) in
    let value=snapshot.value as! [String:String]
    let gender=value["Gender"] as!String
    self.universalGender=gender

}

0 个答案:

没有答案