如何将Firebase进度计数单位转换为百分比

时间:2018-04-07 15:25:38

标签: ios swift firebase firebase-storage

我正在使用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)%")

    }

1 个答案:

答案 0 :(得分:0)

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

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