2017-04-12 8 views
0

abrufen Ich versuche, Benutzerinformationen von Firebase abzurufen.Firebase kann keinen Wert aus dem Verzeichnis

rk70HDmNSGfugTcIbTdAKhKXE4K2 =  { 
    Email = "[email protected]"; 
    UserID = rk70HDmNSGfugTcIbTdAKhKXE4K2; 
    Username = "Johnny_Bravo"; 
}; 

Dies ist der Snapshot, den ich abrufen. möchte ich die Benutzer E-Mail erreichen, aber ich einen Absturz wegen eines Nullwert erhalten

func retreiveUsers(){ 

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

     if let fetchedUser = snapshot.value as? NSDictionary { 

      print(fetchedUser["Email"]) 

     } 
    }) 
} 

, was falsch ist?

+0

Können Sie bitte einen Screenshot von ur Datenbankstruktur hinzufügen und zeigen, was databaseRef –

Antwort

1

Es wäre viel besser, wenn Sie weitere Informationen hinzufügen. Ich habe einen Kommentar geschrieben.

Aber ich denke, dass Problem ist, dass databaseRef.child („Benutzer“) werden alle Benutzer Knoten holen. Sie müssen .child(USER_ID) hinzuzufügen, oder so etwas zu tun:

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"]) 
     }  
    } 
}) 

Versuchen Sie, diese

Hoffe, es hilft

+0

ist Well here you go –

+1

Mit Ihrer Methode habe ich es zum Laufen gebracht. Aber ich bin ein echter Noob in der schnellen und Firebase daher, können Sie beschreiben, was vor sich geht. –

+0

@HussainMustafa Mit .child ("Benutzer") gehen Sie zum Knoten aller Benutzer. Kein bestimmter Benutzer. Im "for" -Zyklus schauen Sie also nach Artikeln. Dann wird jeder Benutzer-Snapshot abgerufen und Daten daraus abgerufen. Markiere es als Antwort bitte, damit es anderen helfen kann –

Verwandte Themen