我正在将视频文件上传到 Firebase 存储,我正在使用进度指示器来显示它的进度。一切正常,除了我无法让它显示 Int
(整数),它正在显示 Doubles
,例如:
数字应该是整数,例如 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/