1

Xcode 8β3 上的 Swift 3。

任何想法为什么下面的代码会引发下面的错误(进一步),特别是考虑到我使用的是URLSession而不是NSURLSession

代码

public func updateCurrentConditions() {

    let session = URLSession()
    let url     = URL(string: "http://api.wunderground.com/api/\(key)/conditions/51.32,-1.0.json")!
    let loadDataTask = session.dataTask(with: url, completionHandler: self.dataHandler) 
    loadDataTask.resume()
}

private func dataHandler(data: Data?, response: URLResponse?, error: NSError?) -> Void {
    print("dataHandler executed.")
}

错误

失败:捕获“NSInvalidArgumentException”,“-[NSURLSession dataTaskForRequest:completion:]:无法识别的选择器发送到实例 0x7fac89569f00”

4

1 回答 1

1

你试过使用shared URLSession吗?

let session = URLSession.shared

的默认初始化程序URLSession是未定义的,所以它可能会创建一些奇怪的东西......

于 2016-07-24T12:27:40.310 回答