我正在开发一个可以上传图片的iOS应用,我正在使用这种方法来跟踪我的上传进度:

    uploading.observe(.progress) { (snapshot) in
        if let completedUnitConter = snapshot.progress?.completedUnitCount {
           self.navigationItem.title = String(completedUnitConter)
        }
    }


它可以很好地跟踪进度,但是返回的单位(快照)类似于32、485、4758、594747等,直到图像上传到Firebase。

我想将这些单位转换为百分比(0%-100%),以便用户了解他们在按上载按钮后的情况,因此我想知道是否有人可以向我展示如何执行此操作?

你们的任何帮助将不胜感激!!

更新:

    uploading.observe(.progress) { (snapshot) in

        let percentComplete = 100 * Double(snapshot.progress!.completedUnitCount)
         / Double(snapshot.progress!.totalUnitCount)

        let percentageConverted = String(format: "%.0f", percentComplete)

        self.navigationItem.title = String("\(percentageConverted)%")

    }

最佳答案

进度对象还包含一个totalUnitCount,可用于查找百分比,

let percentComplete = 100.0 * Double(snapshot.progress!.completedUnitCount)
/ Double(snapshot.progress!.totalUnitCount)

关于ios - 如何将Firebase进度计数单位转换为百分比,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49708894/

10-13 01:42