我試圖將Firebase用戶名保存到UserDefault。以下是我有:意外地在檢查零後發現爲零
let databaseRef = FIRDatabase.database().reference()
databaseRef.child("Users").child((FIRAuth.auth()?.currentUser?.uid)!).observe(.value, with: { (snapshot) in
print("log in 4")
print(snapshot.value)
if snapshot.value != nil {
print("log in 4.1")
UserDefaults.standard.set(snapshot.value!["username"], forKey: "username")//Crash probably occurs here
print("log in 4.2")
}
})
系統打印log in 4
和log in 4.1
,而不是4.2。錯誤必須發生在兩者之間的線上。我檢查snapshot.value
不是零,但它仍然打印零。我該如何解決這個問題?謝謝!
'snapshot.value [「用戶名」]'將返回nil,如果沒有爲沒有價值字典中的'用戶名'鍵。您應該學會使用調試器和單步執行,而不是依賴日誌語句。 – Paulw11
@ Paulw11你爲什麼沒有發佈這個答案? – Losiowaty
它可能不是答案(好吧,它可能是),但我更願意給提問者一個機會,在發佈答案之前在評論中確認 – Paulw11