这个问题没有重复,因为其他人不工作,并不完全像我的。我想在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”(这是正确的),第二个打印是零。
真正的麻烦在于,我一直这样做,没有任何问题......
怎么可能?我们只能使用快照中的值吗?感谢