按需资源 (ODR) 已完成/下载标签的总文件大小
Posted
技术标签:
【中文标题】按需资源 (ODR) 已完成/下载标签的总文件大小【英文标题】:On-demand resources (ODR) get completed/total file size of downloaded tag 【发布时间】:2020-09-23 10:00:00 【问题描述】:我正在通过 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的正确值?
【问题讨论】:
【参考方案1】:这对我来说也是一个惊喜。 我们已经设法通过使用 Progress 值的 fractionCompleted 属性解决了这个问题:
progress.fractionCompleted
【讨论】:
以上是关于按需资源 (ODR) 已完成/下载标签的总文件大小的主要内容,如果未能解决你的问题,请参考以下文章