ProgressHUD仅在第二次尝试后出现

时间:2019-11-22 11:23:48

标签: swift mbprogresshud

XCode:11,Swift:5,iOS:13

仅当我第二次使用函数时,我的ProgressHUD(例如showSuccess和showError)才会出现。重新启动应用程序(例如,上传图片)后,没有进度图像出现。当我再次上传图片时,它会出现。我所有的progressHUD元素都有这种行为。为什么会这样?

示例代码:

func uploadDataToDatabase(imageUrl: String) {
    let databaseRef = Database.database().reference().child("posts")
    let newPostId = databaseRef.childByAutoId().key

    let newPostRefernce = databaseRef.child(newPostId)

    let dic = ["imageUrl" : imageUrl, "postText" : postTextView.text] as [String : Any]
    newPostRefernce.setValue(dic) { (error, ref) in
        if error != nil {
            ProgressHUD.showError("Fehler, Daten konnten nicht hochgeladen werden")
            return
        }
        ProgressHUD.showSuccess("Post erstellt")
        self.remove()
        self.handleShareAndAbortButton()
        self.tabBarController?.selectedIndex = 0
    }
}

2 个答案:

答案 0 :(得分:0)

尝试在主线程中运行

DispatchQueue.main.async(execute: {

                        ProgressHUD.showError("Fehler, Daten konnten nicht hochgeladen werden")

                    })

答案 1 :(得分:0)

尝试为您的函数构造一个完成块,以便仅在上传到数据库完成(或不完成)时才执行。调用函数时,请在完成代码块内使用ProgressHUD函数。