swift - Firebase:如何检查查询是否完成? ( swift )

标签 swift firebase firebase-realtime-database observers

我试图在从 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")
            }
        })

最佳答案

当调用 .Value 观察者的回调 block 时,它会获取该位置当前已知的所有数据。因此您可以将微调器隐藏在 block 中:

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 观察者会不断同步数据,因此您的阻止可能会运行多次。

关于swift - Firebase:如何检查查询是否完成? ( swift ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38493291/

相关文章:

javascript - 使用 ReactReduxFirebaseProvider 时 firebase 未定义

swift - 内存泄漏与方法 NSRegularExpression.matchesInString()

ios - Swift - 比较单词和过滤

swift - 过滤数据库子项并将每个名称作为字符串返回

firebase - 来自/到 Firebase 数据库服务器的流量是否被压缩?

android - getContactsFromFirebase() 方法返回一个空列表

swift - 类属性返回 nil

swift - 如何在 Xcode 7.2 XCTestCase 中获取 ScrollView 的标签?

ios - UIView.animate 没有为我的 UIVisualEffectView 设置动画

python-3.x - 如何从 Firebase 存储下载文件