我有这条香草代码我几乎在我的代码中随处可用:
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?我反复复制其他类的代码,以免写错了。
答案 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
}