/ / Pobierz określoną wartość z Firebase - swift, firebase, firebase-database

Pobierz konkretną wartość z Firebase - swift, firebase, bazy danych Firebase

Chcę uzyskać adres i nazwęużytkowników w Firebase, ale po prostu nie mogę znaleźć sposobu, aby to zrobić. Oto mój najlepszy wysiłek. Wydaje się to w porządku w Xcode, ale aplikacja ulega awarii, gdy naciskam przycisk, aby pobrać wartości (wątek 1 exc_bad_instruction (code = exc_i386_invop subcode = 0x0)

 ref?.child("users").child(user)
.observeSingleEvent(of: .value, with: { (snapshot) in

let userDict = snapshot.value as! [String: Any]

let address = userDict["Address:"] as! String
let name = userDict["Name:"] as! String
print("Address: (address)  Name: (name)")})

Odpowiedzi:

2 dla odpowiedzi № 1

jak @Moritz wspomniany w komentarzu, jeśli wymusisz rozpakowanie (mówisz, że te wartości nie będą nil) i czy okaże się jedną z twoich wartości nil, spowoduje to awarię aplikacji. Spróbuj czegoś takiego -

ref?.child("users").child(user).observeSingleEvent(of: .value, with: { snapshot in
guard let userDict = snapshot.value as? [String: Any],
let address = userDict["Address:"] as? String,
let name = userDict["Name:"] as? String else {
return
}

print("Address: (address)  Name: (name)")
})

To nie wydrukuje niczego, jeśli którykolwiek z plików Name lub Address jest nil