如何解决不调用`URLSessionDelegate` 方法
请注意,我已经检查了以前的答案,并且我没有在代码中使用回调。在这种情况下,应该调用 delegate
方法
环境 iOS 14.4.2
网址有效。文件已下载。只是委托没有被调用。
示例代码如下:
final class Downloader: NSObject,URLSessionDelegate {
private lazy var urlSession = URLSession(
configuration: .default,delegate: self,delegateQueue: .main
)
private var downloadTask: URLSessionDownloadTask?
func beginDownload(url: URL) {
downloadTask = urlSession.downloadTask(with: url)
downloadTask!.resume()
}
func urlSession(_ session: URLSession,downloadTask: URLSessionDownloadTask,didFinishDownloadingTo location: URL) {
// NEVER CALLED
}
}
解决方法
您正在实现的 func urlSession(_ session: URLSession,downloadTask: URLSessionDownloadTask,didFinishDownloadingTo location: URL)
方法是 URLSessionDownloadDelegate
的一部分,而不是 URLSessionDelegate
,因此您还应该声明与 URLSessionDownloadDelegate
的一致性,以便委托调用发生。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。