我正在通过 ODR 下载 zip 存档并希望向用户显示进度和已完成/总文件大小(如“3/10MB 已下载”)使用 KVO 我设法观察了相关Progress对象的fractionCompleted属性,所以我'能够显示一个进度条。
代码如下所示:
let request = NSBundleResourceRequest(tags: [tag])
request.progress.observe(\.fractionCompleted, options: [.new, .old]) { [weak self] _, change in
guard let progress = change.newValue else { return }
// Use new progress value here
}
现在,为了显示以字节为单位的已完成/总文件大小,我尝试访问completedUnitCount和totalUnitCount,它们的值恰好总是 1(意思是 1 个文件?)。
如何获得completedUnitCount和totalUnitCount的正确值?