在将结果传递给 GeoFire 之前,我运行了一个 firebase 查询来检索用户存储的搜索半径。它看起来像这样:
var searchRadius = Double()
ref.childByAppendingPath("/users/\(ref.authData.uid)/searchRadius").observeEventType(.Value, withBlock: { snapshot in
self.searchRadius = snapshot.value as! Double
print(self.searchRadius)
})
print(self.searchRadius)
第一个打印行打印出我存储的半径(在本例中为 4.xxxxxx),但它在括号外的第二个打印行之后打印。所以我在控制台中的结果最终看起来像:
0.0
4.xxxxxxxx
为什么是这样?我在使用 firebase 时遇到了类似的问题,并使用 ObserveReadyWithBlock 解决了这个问题,但这是我第一次在 Firebase 中看到这个问题。
谢谢你的帮助!