我正在开发一个需要几分钟才能下载一个大文件并将其写入磁盘的应用程序。客户通知我,他们希望能够随时取消。我所做的是封装一个URLSession
将处理下载任务的全局。在用户输入之后,我将调用invalidateAndCancel()
会话。我发现该方法
urlSession(_ session: URLSession,
downloadTask: URLSessionDownloadTask,
didWriteData bytesWritten: Int64,
totalBytesWritten: Int64,
totalBytesExpectedToWrite: Int64)
即使在会话无效和取消后也不会停止调用。
问题
如何让这个方法停止执行?