ios - Firebase iOS - 将 StorageUploadTask 进度从 Double 转换为 Int

标签 ios swift firebase firebase-storage

我正在将视频文件上传到 Firebase 存储,我正在使用进度指示器来显示它的进度。一切正常,除了我无法让它显示 Int(整数),它正在显示 Doubles,例如:

enter image description here enter image description here enter image description here

数字应该是整数,例如 0%、33% 和 96%

我尝试将 Double 类型的 percentLabel 转换Int 但它一直崩溃:

let percentComplete: Double = 100.0 * Double(completedUnitCount) / Double(totalUnitCount)
self?.progressLabel.text = "\(Int(percentComplete))%"

我怎样才能让这些 double 变成整数?

var uploadTask: StorageUploadTask?

uploadTask = videoIdRef?.putFile(from: videoUrl)

uploadTask?.observe(.progress, handler: {
    [weak self] (snapshot) in

    if let completedUnitCount = snapshot.progress?.completedUnitCount, let totalUnitCount =

        snapshot.progress?.totalUnitCount {

        let uploadProgress:Float = Float(completedUnitCount) / Float(totalUnitCount)
        self?.progressView.progress = uploadProgress   

        let percentComplete = 100.0 * Double(completedUnitCount) / Double(totalUnitCount)
        self?.progressLabel.text = "\(percentComplete)%"
    }
})

最佳答案

你可以为此使用简单的字符串初始化器

String(format: "%.0f", floor(percentComplete))

关于ios - Firebase iOS - 将 StorageUploadTask 进度从 Double 转换为 Int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51959333/

相关文章:

arrays - 使用 Swift 排序数组错误

javascript - 使用 Firebase 制作的 FireFeed 示例但无法正常工作

firebase - flutter Firebase : How to remove firebase listener when using stream builder?

iphone - Bundle id 未显示在 iTunesconnect Bundle ID 中

ios - 具有 2 列 swift 的表格布局

swift - 文本字段 - 标签 - 按钮 根据输入回答

android - Google 项目在开发者控制台中不可见

ios - 在另一个模态呈现的 viewController 下模糊 viewController?

ios - 无法在没有参数的情况下调用类型 'CustomDetailView' 的初始值设定项

ios - 火力地堡配置