import Firebase
import FirebaseAuth
import FirebaseDatabase
let userID = Auth.auth().currentUser?.uid
var ref: DatabaseReference!
ref.child("users").child(userID!).observeSingleEvent(of: .value, with: { (snapshot) in
let value = snapshot.value as? NSDictionary
let username = value?["username"] as? String ?? ""
let user = User(username: username)
print(username)
}) { (error) in
print(error.localizedDescription)
}
Я скопировал код из учебника по Firebase, но получил: «Поток 1: Неустранимая ошибка: неожиданно обнаружен ноль при развертывании необязательного значения»
Если я изменил код на:
ref?.child("users").child(userID!).observeSingleEvent(of: .value, with: { (snapshot) in
let value = snapshot.value as? NSDictionary
let username = value?["username"] as? String ?? ""
let user = User(username: username)
print(username)
}) { (error) in
print(error.localizedDescription)
}
username
не печатается.
Как я мог это исправить? И каков наилучший способ получения данных?