首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >URLSession问题

URLSession问题
EN

Stack Overflow用户
提问于 2016-10-23 10:29:41
回答 2查看 1.8K关注 0票数 2

我正在将我的项目转换为Swift 3。

我在Swift 2.2中有这样的代码:

代码语言:javascript
复制
lazy var downloadsSession: NSURLSession = {
    let configuration = NSURLSessionConfiguration.backgroundSessionConfigurationWithIdentifier("bgSessionConfiguration")
    let session = NSURLSession(configuration: configuration, delegate: self, delegateQueue: nil)

    return session
}()

代码被转换为Swift 3:

代码语言:javascript
复制
lazy var downloadsSession: URLSession = {
    let configuration = URLSessionConfiguration.background(withIdentifier: "bgSessionConfiguration")
    let session = URLSession(session: configuration, downloadTask: self, didFinishDownloadingToURL: nil)

    return session
}()

但这种错误是:

“无法将URLSessionConfiguration类型的值转换为预期的参数类型URLSession”

URLSession没有任何方法来获取URLSessionConfiguration

更新:下面是使用此功能时swift3自动校正的图片:

代码语言:javascript
复制
let session = URLSession(configuration: configuration, delegate: self, delegateQueue: nil)

我如何修正这段代码?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-23 10:38:31

您要查找的URLSession初始化程序类似于init(configuration:delegate:delegateQueue:)。因此,请像这样更改会话的初始化。

代码语言:javascript
复制
let session = URLSession(configuration: configuration, delegate: self, delegateQueue: nil)
票数 3
EN

Stack Overflow用户

发布于 2018-09-26 14:07:16

我认为您正在实现URLSessionDownloadDelegate方法,编译器正在与此函数混淆。看看这个!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40201916

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档