【发布时间】:2018-08-19 16:41:18
【问题描述】:
let userID = Auth.auth().currentUser?.uid
ref.child("players").child(userID!).observeSingleEvent(of: .value, with: { (snapshot) in
let value = snapshot.value as! NSDictionary
print("DICT VALUE",value)
})
我正在尝试获取已登录用户的个人资料。我的问题是如果使用变量 userID
let userID = Auth.auth().currentUser?.uid
快照为空。返回此Snap (feoMdSquBSMHFXcPhZKbpsIGlKe2) <null>
如果我使用文字字符串let userID = "feomdsqubsmhfxcphzkbpsiglke2"作为 userID 孩子,我会得到预期的回报
Snap (feomdsqubsmhfxcphzkbpsiglke2) {
currentSelected = 0;
email = "2@yahoo.com";
uid = feoMdSquBSMHFXcPhZKbpsIGlKe2;
username = "player 2";
}
我可以确认用户 ID 有效
let userID = Auth.auth().currentUser?.uid
print(userID!)
返回feoMdSquBSMHFXcPhZKbpsIGlKe2
这是存储的数据
{
"players" : {
"feomdsqubsmhfxcphzkbpsiglke2" : {
"currentSelected" : false,
"email" : "2@yahoo.com",
"uid" : "feoMdSquBSMHFXcPhZKbpsIGlKe2",
"username" : "player 2"
},
"o4azcazrxjqc3toybykk0ghbd9o2" : {
"currentSelected" : false,
"email" : "1@yahoo.cm",
"uid" : "O4aZCAZrXJQc3TOYbykK0ghbD9O2",
"username" : "player 1"
}
}
}
【问题讨论】:
-
看起来您在尝试读取的位置的数据库中没有数据。您在快照中期待什么而不是 null?
-
我编辑了我的答案以显示存储的数据。我的预期结果也在答案中。
标签: swift firebase firebase-realtime-database firebase-authentication