无法调用' dataTask'使用类型的参数列表

时间:2016-08-31 16:25:51

标签: nsurlsession swift3

我有这条香草代码我几乎在我的代码中随处可用:

let configuration = URLSessionConfiguration.default
let session = URLSession(configuration:configuration)
let listTask = session.dataTask(with: theRequest, completionHandler: {[weak self](data, response, error) in
})

然而,在一个特定的类中,编译器抱怨:

  

无法调用' dataTask'使用类型'的参数列表(带:   URLRequest,completionHandler :(数据?,URLResponse?,错误?) - > ())'

     

预期类型'的参数列表(带:URLRequest,completionHandler:>(数据?,URLResponse?,错误?) - > Void)'

如何将闭包的返回值推断为()而不是预期的Void?我反复复制其他类的代码,以免写错了。

2 个答案:

答案 0 :(得分:6)

由于某种原因添加:

return () 
正如苹果论坛上所建议的那样,在关闭结束时,修复了这个问题。

答案 1 :(得分:2)

在xcode 8 beta 6中试用了swift 3 playground

    let configuration = URLSessionConfiguration.default
    let session = URLSession(configuration:configuration)
    let theRequest = URLRequest(url: URL(string: "")!)
    let task = session.dataTask(with: URL(string: "")!) { (data:Data?, response:URLResponse?, error:Error?) in

    }

    let task1 = session.dataTask(with: theRequest) { (data:Data?, response:URLResponse?, error:Error?) in

    }