我在尝试从firebase查询数据时显示微调器,并在返回查询结果时隐藏它。 有没有办法知道查询是否已经完成检索所有数据? ?
self.handle = self.ref.child("users").observeEventType(.Value, withBlock: { (snapshot) in
if snapshot.exists() {
print ("snapshot exist")
print (snapshot.childrenCount)
}
else {
print ("snapshot doesn't exist")
}
})
答案 0 :(得分:2)
当调用.Value
观察者的回调块时,它将获取当前为该位置所知的所有数据。所以你可以隐藏块中的微调器:
self.handle = self.ref.child("users").observeEventType(.Value, withBlock: { (snapshot) in
// TODO: hide spinner here
if snapshot.exists() {
print ("snapshot exist")
print (snapshot.childrenCount)
}
else {
print ("snapshot doesn't exist")
}
})
请注意,Firebase观察器会保持同步数据,因此您可以多次运行阻止。