ProgressHUD仅在第二次尝试后出现

问题描述 投票:0回答:2

[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
    }
}
swift mbprogresshud
2个回答
0
投票

尝试在主线程中运行

DispatchQueue.main.async(execute: {

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

                    })

0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.