Firebase 无法从字典中获取值

Firebase cannot get value from Dictionary

我正在尝试从 firebase 检索用户信息。

rk70HDmNSGfugTcIbTdAKhKXE4K2 =     {
    Email = "johnny_bravo770@gmail.com";
    UserID = rk70HDmNSGfugTcIbTdAKhKXE4K2;
    Username = "Johnny_Bravo";
};

这是我取回的快照。 我想获得用户的电子邮件,但由于零值

而导致崩溃
func retreiveUsers(){

    databaseRef.child("Users").observeSingleEvent(of: .value, with: { (snapshot) in

        if let fetchedUser = snapshot.value as? NSDictionary {

            print(fetchedUser["Email"])

        }
    })
}

怎么了?

如果能再补充点信息就更好了。我在评论里写了。

但我认为,问题在于 databaseRef.child("Users") 将获取所有用户节点。您需要添加 .child(USER_ID) 或执行以下操作:

databaseRef.child("Users").observeSingleEvent(of: .value, with: { (snapshot) in

    for item in snapshot.children {
        let fetchedUserSnapshot = item as! FIRDataSnapshot
        if let fetchedUser = fetchedUserSnapshot.value as? [String: Any] {
            print(fetchedUser["Email"])
        }      
    }
})

试试这个

希望对您有所帮助