Я пытаюсь придерживаться практики MVC и хранить весь сетевой код внутри класса службы данных, который я использую в своем приложении. На одном экране у меня есть имя пользователя и имя пользователя, которое нужно отобразить. При обновлении этого я вызываю эту функцию:
func grabUserData() -> User {
REF_USERS.child(getCurrentUID()).observeSingleEvent(of: .value) {
(snapshot) in
if let userDict = snapshot.value as? Dictionary<String, String> {
let user = User(
first: userDict["firstName"]!,
last: userDict["lastName"]!,
username: userDict["username"]!
)
return user
}
}
}
Но я получаю сообщение об ошибке, пытаясь вернуть пользователя! В нем говорится:
Неожиданное непустое возвращаемое значение в функции void.
Но функция явно не пустая. Итак, что мне делать?