我正在尝试使用urlSession顺序下载多个文件。
我有这个代码,它位于其他类的扩展中。我希望能够在viewcontroller类中使用变量progress,以便使用它在屏幕上显示下载进度。
如何将变量从另一个类的扩展传递到viewcontroller类中?
func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64) {
let progress = Double(totalBytesWritten) / Double(totalBytesExpectedToWrite) * 100
答案 0 :(得分:2)
扔掉您的progress
变量。 URLSessionDownloadTask本身提供{Progress类的progress
对象。它可以精确地解决这类问题,因为可以从任何地方观察Progress对象(或者可以将其直接分配给UIProgressView的observedProgress
)。只需研究Progress类,就可以清楚地做什么。