我有这段代码。
let path : String = "http://apple.com"
let lookupURL : NSURL = NSURL(string:path)!
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithURL(lookupURL, completionHandler: {(data, reponse, error) in
let jsonResults : AnyObject
do {
jsonResults = try NSJSONSerialization.JSONObjectWithData(data!, options: [])
// success ...
} catch let error as NSError {
// failure
print("Fetch failed: \(error.localizedDescription)")
}
// do something
})
task.resume()
但是它在let task
行失败,出现以下错误:
从可抛出函数类型(__.__.__)的抛出进行无效转换至非可抛出函数类型(NSData?, NSURLResponse?, NSError?) -> Void
问题出在哪里? 这是Xcode 7 beta 4,iOS 9和Swift 2。
编辑:
问题似乎出现在以下代码中:
do {
jsonResults = try NSJSONSerialization.JSONObjectWithData(data!, options: [])
// success ...
} catch let error as NSError {
// failure
print("Fetch failed: \(error.localizedDescription)")
}
我移除这些代码行,let task
错误消失了。