首页 > 解决方案 > 按需资源 (ODR) 已完成/已下载标签的总文件大小

问题描述

我正在通过 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
}

现在,为了显示以字节为单位的已完成/总文件大小,我尝试访问completedUnitCounttotalUnitCount,它们的值恰好总是 1(意思是 1 个文件?)。

如何获得completedUnitCounttotalUnitCount的正确值?

标签: iosswiftresourcesprogresson-demand-resources

解决方案


这对我来说也是一个惊喜。我们已经设法通过使用 Progress 值的 fractionCompleted 属性解决了这个问题:

progress.fraction 已完成


推荐阅读