Firebase上传图像|使用NSProgress



我必须将3个图像上传到Firebase。我想通过NSProgress监控所有三张图片的上传进度。

let currentUploadTask:StorageUploadTask = uploadPath.putData(data, metadata: nil) { (storageMetaData, error) in
if error != nil{
//TODO: Error handling
}else{
print("Upload Finished")
}
}

您通过currentUploadTask.snapshot.progress访问NSProgress对象事实上,如果你运行currentUploadTask.snapshot.progress.fractionCompleted,你会得到进度百分比

一旦我把所有的"Firebase进展"合并为一个大进展,事情就会分崩离析。

let progress:Progress = Progress(totalUnitCount: 3)
progress.addChild(currentUploadTask.snapshot.progress!, withPendingUnitCount: currentUploadTask.snapshot.progress!.totalUnitCount)
// Observe progress.fractionCompleted ----> always 0.0

提前感谢:(

我理解你想要做的事情——我也想这么做:你想要使用NSProgress对象本身,并简单地将其添加为顶级NSProgress对象的子对象。

不幸的是,我可以从FirebaseStorage代码中看到这是不可能的:

- (FIRStorageTaskSnapshot *)snapshot {
@synchronized(self) {
NSProgress *progress = [NSProgress progressWithTotalUnitCount:self.progress.totalUnitCount];

因为每次都会生成一个新的NSProgress对象,而不是重新使用现有的对象。我会在github上提交一个关于它的功能改进

相关内容

  • 没有找到相关文章

最新更新