检查孩子是否在场?如果存在则执行特定方法

时间:2015-09-16 19:24:13

标签: ios swift firebase

我有一个用户登录,我想检查该用户是否有一个子节点“跟随”。 。我怎么检查..?

这就是我创建用户的方式

                        var userId = authData.uid

                        let newUser = [
                            "Provider" : authData.provider,
                            "email"    : authData.providerData["email"] as? NSString as? String,
                            "name"     : self.Name.text,
                            "location" : "",
                            "about"    : "",
                            "age"      : "",
                        ]



self.ref.childByAppendingPath("users").childByAppendingPath(authData.uid).setValue(newUser)

当登录用户搜索朋友并点击跟随按钮时,将创建子节点“follow”,创建后它将具有以下结构。将UID(搜索到的用户的)作为KEY 并将(搜索到的用户的)电子邮件作为值。

USERS

simplelogin3

  • 年龄:24

  • 姓名:迈克

  • 电子邮件:mike@gmail.com

  • 以下

    • simplelogin6:“abc@hotmail.com”

但我的问题只是这个,我应该编码什么来检查登录用户中是否有“跟随”子节点? ,,请帮助我是firebase和swift的新手

2 个答案:

答案 0 :(得分:0)

您可以使用if let

尝试这行代码
if let childNode = newUser["following"] {
    println(childNode)
}

如果您的用户没有以下密钥,则无法在闭包之间执行代码。

答案 1 :(得分:0)

使用Null检查方法我解决了这个问题,

  ref.observeSingleEventOfType(>value, withBlock:{snapshot in
 if snapshot.value is NSNull {
// do this }  'else {

//执行此操作

}

})'