我使用的是一个函数,它实际上是为斯威夫特2编写的。我已经为斯威夫特3做了修改。但是我一直收到错误:
URLSession‘产生’(),而不是预期的上下文结果类型'URLSession!
我的代码如下所示:
func downloadItems() {
let url: NSURL = NSURL(string: urlPath)!
var session: URLSession!
let configuration = URLSessionConfiguration.default
session = URLSession(configuration: configuration, delegate: self, delegateQueue: nil)
let task = session.dataTask(with: url as URL)
task.resume()
}有人知道我做错了什么吗?
发布于 2016-11-28 22:09:08
而不是:
session = URLSession(configuration: configuration, delegate: self, delegateQueue: nil)这样做:
session = {
let session = URLSession(configuration: configuration, delegate: self, delegateQueue: nil)
return session
}()发布于 2016-12-02 22:19:45
将您的URLSession函数替换为:
func urlSession(_ session: URLSession, dataTask: URLSessionDataTask, didReceive data: Data) {
self.data.append(data as Data)
}
func urlSession(_ session: URLSession, task: URLSessionTask, didCompleteWithError error: Error?) {
if error != nil {
print("Failed to download data")
}else {
print("Data downloaded")
self.parseJSON()
}
}https://stackoverflow.com/questions/40347832
复制相似问题