Ich habe eine Abfrage, die nach einer bestimmten UUID sucht und das Objekt zurückgibt.Abrufen untergeordneter Werte von Firebase
print(snapshot)
Snap (users) {
"-KENROf9kGUPw1j6ghFo" = {
UUID = "A1166D66-31B4-4B1C-B28C-58E9E5615D16";
nickname = Craig;
};
}
Ich versuche, die nickname
extrahieren, aber Probleme haben.
Hier ist meine Abfrage let queryRef = Firebase(url:"https://<url>.firebaseio.com/users")
Und hier ist die Abfrage Referenz.
var handle = queryRef.queryOrderedByChild("UUID").queryEqualToValue("A1166D66-31B4-4B1C-B28C-58E9E5615D16").observeSingleEventOfType(.Value, withBlock: { snapshot in
if snapshot.value is NSNull {
print("snapshot empty")
} else {
print(snapshot) //this prints the snapshot above
self.nickname = snapshot.value.objectForKey("nickname") as! String //this returns an error
print(self.nickname)
}
})
}
Die self.nickname....
Linie gibt den folgenden Fehler.
fatal error: unexpectedly found nil while unwrapping an Optional value
Ich habe ein paar verschiedene Möglichkeiten versucht, dies zu strukturieren, habe aber noch keinen Weg gefunden, der nicht scheitert.
ist also folgte ich Ihr Rat und wechselte zum Speichern des Benutzers durch die iPhone UUID. Die App erfordert keine Passwörter oder Authentifizierung. Wenn sich der Benutzer anmeldet, wird nur überprüft, ob seine UUID zuvor protokolliert wurde. Wie auch immer, ich kann die Abfrage nicht mehr zum Laufen bringen, lasst query = Firebase (url: "firebaseurl.com/users/") 'und die Abfrage lautet' var handle = query.queryOrderedByChild ("users"). QueryEqualToValue (UUID) .observeEventType (.Value, withBlock ...... 'Auch wenn ich eine bekannte UUID füttere, druckt es immer noch' snapshot empty'. –