[英]Swift Firebase Database Error Handling
我下面有代碼段,如果發生錯誤,我想顯示帶有錯誤消息的標簽,然后顯示一個重試按鈕。 但是,當發生錯誤時,該錯誤會打印到日志中,但不會顯示標簽和按鈕。 我想念什么嗎?
user_ref = Database.database().reference(withPath: "userdetails")
self.user_ref.observe(.value, with: { snapshot in
if !snapshot.exists() { return }
let snapshotValue = snapshot.value as? NSDictionary
if let temp_usertype = snapshotValue?["usertype"] as? String {
usertype = temp_usertype
}
self.user_ref.removeAllObservers()
self.close()
})
{(error) in
print(error.localizedDescription)
self.lblMessage.text = "\(error.localizedDescription)"
self.btnRetry.isEnabled = true
self.btnRetry.alpha = 1.0
return
}
是。 對UI的更改需要在主線程上進行處理。 您需要將該代碼放入Async.Main調用中,如下所示:
DispatchQueue.main.async {
}
有時嘗試調用主線程並在閉包中更新UI會導致崩潰,因此最好將錯誤對象傳遞給完成塊,並在到達結束函數時調用調用顯示錯誤的警報的函數消息作為標題,代碼作為消息(反之亦然),並且具有關閉按鈕。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.