我正在制作 Instagram 克隆,并希望获取用户名以供显示。信息在 firebase 的数据库部分,我试图通过快照来完成,但它总是返回。
fileprivate func fetchUser() {
guard let uid = Auth.auth().currentUser?.uid else { return }
Database.database().reference().child("users").child(uid).observeSingleEvent(of: .value, with: { (snapshot) in
print(snapshot.value ?? "")
}) { (err) in
print("Failed to fetch user:", err)
}
}
代码格式间隔很奇怪,但就是这样。我是不是没有让 Childs 正确,或者发生了什么事?
编辑:这里还有 Firebase Db 的快照。 Firebase screenshot
最佳答案
试试这个:
guard let uid = Auth.auth().currentUser?.uid else { return }
let reference = Database.database().reference()
reference.child("users").child(uid).observeSingleEvent(of: .value, with: { (snapshot) in
guard let dictionary = snapshot.value as? [String: Any] else { return }
let username = dictionary["username"] as? String
print(username ?? "")
}, withCancel: nil)
关于ios - Firebase 快照在请求用户名时返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50658312/