【发布时间】:2017-03-13 20:52:31
【问题描述】:
我正在使用一个实际上是为 swift 2 编写的函数。我已经为 swift 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()
}
有人知道我做错了什么吗?
【问题讨论】:
-
为什么
URLSessionvar和隐式展开是可选的?URLSession(configuration...返回非可选。并且 Swift 3 引入了URL替换NSURL -
看起来不错,在操场上工作。也许你需要一个 Clean / Clean Build Folder,或者文件前面有语法错误。
-
这在 Playground 中很奇怪我得到了同样的错误。我还修复了项目中的所有其他问题。我也试过这个,但仍然有同样的问题: func downloadItems() { let url: URL = URL(string: urlPath)! let config = URLSessionConfiguration.default var session: URLSession session = URLSession(configuration: config, delegate: self, delegateQueue: nil) let task = session.dataTask(with: url as URL) task.resume() }
标签: json swift swift3 urlsession