簡體   English   中英

Swift Firebase數據庫錯誤處理

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM