ios - 查询为空时的 Firebase

标签 ios swift firebase firebase-realtime-database

我使用 firebase 执行查询以检查是否有任何对象具有具有特定值的子对象。问题是如果没有这样的对象,代码就不会运行。因此,在下面的代码中,如果没有对象具有 facebookID17 的子项,则其余代码将永远不会运行。有没有办法确定查询何时找到 0 个结果?

func previousUser(completion:(result:Bool)->Void){

    var queryFound = false
    print("check if user is previous")
    print(UserData.globalfacebookID)
    let ref = Firebase(url:"https://amber-torch-556.firebaseio.com/Users")
    ref.queryOrderedByChild("facebookID").queryEqualToValue(17).observeSingleEventOfType(.ChildAdded, withBlock: { snapshot in

    print(snapshot.childrenCount)
    print("query has ran")
    UserData.globalparseID = snapshot.key

    queryFound = true
    completion(result:queryFound)

})

最佳答案

检查您的引用以确保其有效。

然后试试这个

        ref.queryOrderedByChild("facebookID").queryEqualToValue(17)
           .observeEventType(.Value, withBlock: { snapshot in

              if snapshot.value is NSNull {
                 print("dude, snapshot was null")
              } else {
                 print(snapshot.key)
              }

        })

将 .ChildAdded 更改为 .Value,然后检查 NSNull

关于ios - 查询为空时的 Firebase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35111574/

相关文章:

ios - swift iOS : Firebase Paging

javascript - 在 Firebase 中处理关联帐户

javascript - 使用 Firebase 验证用户显示名称

ios - 在不影响 IOS 中的 UI 线程的情况下将数据发送到服务器

iphone - 我应该在使用 reloadData 之前清除 TableView 吗?

ios - 声音在模拟器上播放但在 iPhone 上不播放

ios - 如果按下 "Backspace"按钮并且文本字段为空白并且在 Swift 4 中,我如何移动到上一个 UITextField?

firebase - 如何在 Firebase 中使用事件的参数值创建漏斗?

ios - 管理 View Controller 导航的最佳方式

ios - 插入 UIViewController 呈现 UINavigationViewController(仅显示一个动画)