我正在尝试从Firebase中的一些用户那里获取信息。
为此,我运行了一个查询,根据我传递的用户id选择用户。
问题是,在user对象中,有另一个object
和
当我试图在我的代码中获得整个用户时,我只得到了最后一个对象。
下面是用户在Firebase中的样子:
USERIDHERE
{
"coins" : 4850,
"name" : "Jogador 1020",
"score" : 22,
"unlocked" : {
"000" : true,
"KA0293" : true
}
}
这是获取用户的代码
ref.child("users").child(key).observeSingleEvent(of: .value, with: { (snapshot) in
for snap in snapshot.children.allObjects as! [FIRDataSnapshot] {
if let dict = snap.value as? Dictionary<String,AnyObject> {
print(dict)
}
}
})
当我打印字典时,并没有得到所有的用户信息,在这个例子中,我只得到了以下输出:
["000": 1, "KA0293": 1]
发布于 2016-10-12 14:41:31
数据库:
代码:
let ref = FIRDatabase.database().reference()
let refUsers = ref.child("users")
let refUser = refUsers.child("123")
refUser.observeSingleEvent(of: .value) { (snap: FIRDataSnapshot) in
if snap.exists() {
if let dict = snap.value as? [String: Any] {
print(dict)
}
}
}
打印输出:
["unlocked": {
000 = 1;
KA0293 = 1;
}, "name": Jogador 1020, "score": 22, "coins": 4850]
发布于 2016-10-11 22:53:51
ref.child("users").child(key).observeSingleEvent(of: .value, with: { (snapshot) in
// you can get your user's name like below:
username = (snapshot.value as? NSDictionary)?["name"] as! String
if let dict = snapshot.value as? Dictionary<String,AnyObject> {
print(dict)
}
})
快照已包含用户的所有信息。
https://stackoverflow.com/questions/39985482
复制相似问题