无法使用Swift 4

时间:2018-01-28 11:04:01

标签: ios swift firebase firebase-realtime-database

我已经在我的可可豆荚中安装了Firebase / Database,在我的AppDelegate中配置了它,导入了我的Google plist,将读取和写入权限设置为true,并且在viewDidLoad()中,我写了

let rootRef = Database.database().reference()
rootRef.child("users").setValue(["name": "Ryan"])

rootRef.child("users").observe(.value) { (snapshot) in
    print(snapshot)
}

问题是,它打印出

Snap (users) {
    username = Ryan;
}

但是,我没有看到我的实时数据库发生变化,所以如果我摆脱

rootRef.child("users").setValue(["name": "Ryan"])

并重新运行程序,没有任何结果。

在我的数据库中,如果我在根目录下添加一个键值对,比如“Yo”:“hey”enter image description here

做一个观察事件
rootRef.child("yo").observe(.value) { (snapshot) in
    print(snapshot)
}

再没有出现

我很确定我的firebase服务已连接,因为我的用户身份验证有效,但我的数据库没有。有人可以帮助我!

2 个答案:

答案 0 :(得分:0)

因为它不是孩子。

["yo":"hey"]是一个字典数据结构。 代码:

rootRef.child("loginwithgooddesignpractice").observe(.value) { (snapshot) in
    print(snapshot)
}

答案 1 :(得分:0)

您可能遇到的问题可能源于了解Firebase数据库的结构。在你的情况下,根被很好地引用,但是从那里它没有很好地组织。创建root / users / id / yo:“嘿”结构我建议把它写成:

   rootRef.child("users").childByAutoId().setValue("hey", forKey: "yo")

这种方式将用户放在一个字典中,该字典将保存其他用户的多个唯一ID,这是另一个字典,其值为yo:“hey”。