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