繁体   English   中英

链接UIProgressView以使用Firebase显示下载进度

[英]linking UIProgressView to show download progress using Firebase

我正在尝试显示打印进度时我下载的文件的进度视图,这是正确的,但是当我在进度视图中实施它时,这是完全错误的,它的执行率是3000%,这是我的代码。 我正在使用MHRadialProgressView

downloadTask.observe(.progress) { (snapshot) -> Void in
    // Download reported progress

    let percentComplete = 100 * Double(snapshot.progress!.completedUnitCount) / Double(snapshot.progress!.totalUnitCount)
    print("percentComplete")
    self.progressView.moveNext(currentprogress as NSNumber!)

    // Update the progress indicator
}

当我使用MBProgressHUD时,这是它的代码

  downloadTask.observe(.progress) { (snapshot) -> Void in
                // Download reported progress    
                let percentComplete = 100 * Float(snapshot.progress!.completedUnitCount)
                    / Float(snapshot.progress!.totalUnitCount)

            let hud = MBProgressHUD.showAdded(to: (self.navigationController?.view)!, animated: true)
            // Set the determinate mode to show task progress.
            hud.mode = MBProgressHUDMode.determinate

            hud.label.text = NSLocalizedString("Loading...", comment: "HUD loading title")
            // Set up NSProgress
            let progressObject = Progress(totalUnitCount: 100)
            hud.progressObject = progressObject
            // Configure a cancel button.


            DispatchQueue.global(qos: .default).async(execute: {() -> Void in
                // Do something useful in the background and update the HUD periodically.

                while progressObject.fractionCompleted < 1.0 {

                    progressObject.becomeCurrent(withPendingUnitCount: 1)
                    progressObject.resignCurrent()
                    usleep(useconds_t(percentComplete))
                }

                DispatchQueue.main.async(execute: {() -> Void in
                    hud.hide(animated: true)
                })
            })
        }

我收到此错误nanfatal错误:浮点值不能转换为UInt32,因为它是无穷大或NaN

一些建议:

  • 请勿使用该库(自2014年以来未对其进行更新),请使用MBProgressHUD ,它可以让您设置进度对象而忘却它
  • 如果仍要使用原始库,请确保阅读文档-它说:“或无序进度(通常通过与用户操作相关的步骤),您可以按价值增加进度”。 这意味着您需要将以前的进度与当前进度进行比较,然后自己增加或减少。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM