对成员 'downloadTask(with:completionHandler:)' 的引用不明确

Ambiguous reference to member 'downloadTask(with:completionHandler:)'

我正在尝试播放来自 URL 的音频。

var downloadTask:URLSessionDownloadTask!
downloadTask = URLSession.shared.downloadTask(with: url, completionHandler: { (url, response, error) in
    playAudio(url: url)
})
downloadTask.resume()

但这给了我错误 pf 模糊引用。

使用URL代替NSURL

func downloadFile(from url: URL) {
    var downloadTask: URLSessionDownloadTask
    downloadTask = URLSession.shared.downloadTask(with: url, completionHandler: { (url, reponse, error) in
        // play audio
    })
    downloadTask.resume()
}

编译器期望本机 URL,如果有本机等效项,无论如何不要在 Swift 中使用 NS... 类。

downloadTask是一个non-optional常量。没有理由添加声明行。

而且您很可能会收到另一个关于 requires explicit 'self.'

的错误
func downloadTaskFromURL(url: URL) {
    let downloadTask = URLSession.shared.downloadTask(with: url, completionHandler: { (url, response, error) in
        self.playAudio(url: url)
    })
    downloadTask.resume()
}

旁注:根据命名指南,该方法应命名为 func downloadTask(from url: URL).