Получить значение String из функции с закрытием в Swift
Я пытаюсь получить строковое значение из Firebase, чтобы получить каждое имя пользователя с уникальным UID, который передается функции, которая возвращает имя пользователя пользователя. Однако - так как пожарная базаObserveEvent
вclosures
Я не могу вернуть какое-либо значение обратно, потому что действия происходятасинхронный(?). Мне было интересно, если это был способ сделать это?
Функция выглядит так:
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
}
Очевидно, что это не работает, но я хочу иметь возможность получить данные, выполнив GetUsername ("whatevertheidmightbe"). Идеи?