在Firebase快照功能中使用变量

时间:2017-03-05 18:53:52

标签: swift firebase

这个问题没有重复,因为其他人不工作,并不完全像我的。我想在var averageMark中设置此快照的值。 就像在代码

中一样
func initAverageMark(completion: @escaping (Bool) -> ()) {

    let userRef = ref.child("users").child((user?.uid)!).child("mark")

    userRef.observeSingleEvent(of: .value, with: { (snapshot) -> Void in
        if let mark: Double = snapshot.value as? Double {
            self.averageMark = mark
        }
        print("res: \(self.averageMark)") // 1st print
        completion(true)

    }) { (error) in
        print(error.localizedDescription)
    }
    print("res: \(self.averageMark)") // 2nd print
}

我的问题是变量在快照函数中获取一个值,但在此函数之外是零。第一个打印是“2.0”(这是正确的),第二个打印是零。

真正的麻烦在于,我一直这样做,没有任何问题......

怎么可能?我们只能使用快照中的值吗?感谢

0 个答案:

没有答案