我已经在我的可可豆荚中安装了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”
用
做一个观察事件rootRef.child("yo").observe(.value) { (snapshot) in
print(snapshot)
}
再没有出现
我很确定我的firebase服务已连接,因为我的用户身份验证有效,但我的数据库没有。有人可以帮助我!
答案 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”。