如何使用来自另一个 class 的 urlSession 的变量

How to use a variable from urlSession from another class

我正在尝试使用 urlSession 按顺序下载多个文件。

我有这个代码在另一个 class 的扩展中。我希望能够在 viewcontroller class 中使用可变进度,以便使用它在屏幕上显示下载进度。

如何将这个变量从另一个 class 的扩展传递到 viewcontroller class?

func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didWriteData bytesWritten: Int64, totalBytesWritten: Int64, totalBytesExpectedToWrite: Int64) {

    let progress = Double(totalBytesWritten) / Double(totalBytesExpectedToWrite) * 100

扔掉你的 progress 变量。 URLSessionDownloadTask 本身提供一个 progress 对象(Progress class)。它是用来解决 确切地 这种问题的,因为 Progress 对象可以从任何地方观察到(或者它可以直接分配给 UIProgressView 的 observedProgress )。只要研究一下进度class,就会清楚该怎么做。