Retrieve String value from function mit Closure in Swift
Ich versuche, einen Zeichenfolgenwert von Firebase abzurufen, um jeden Benutzernamen mit einer eindeutigen UID abzurufen, die an die Funktion übergeben wird, die den Benutzernamen des Benutzers zurückgibt. Allerdings - seit der FirebaseObserveEvent
ist inclosures
, Ich kann keinen Wert zurückgeben, da die Aktionen ausgeführt werdenasynchro (?). Ich habe mich gefragt, ob es ein Weg ist, dies zu erreiche
Die Funktion sieht so aus:
func GetUsername(uid:String) -> String {
var username = String()
firebase.child("Users").child(uid).observeSingleEventOfType(.Value) { (snapshot:FIRDataSnapshot) in
username = snapshot.value!["Username"] as! String
}
return username
}
Offensichtlich funktioniert das nicht, aber ich möchte in der Lage sein, die Daten mit einem GetUsername ("whatevertheidmightbe") abzurufen. Ideen?