NSURL和NSURLResponse语法

时间:2015-09-29 16:07:41

标签: swift2 nsurl nsurlsession

do catch无效,这是错误:

  

来自类型'(NSURL?,NSURLResponse?,NSError?)的抛出函数的无效转换抛出 - > Void'到非投掷函数类型'(NSURL?,NSURLResponse?,NSError?) - >无效“

这是代码:

let downloadTask: NSURLSessionDownloadTask = sharedSession.downloadTaskWithURL(forecastURL!, completionHandler: { (location: NSURL?, response: NSURLResponse?, error: NSError?) -> Void in

如果它有帮助,这就是所有代码:

let downloadTask: NSURLSessionDownloadTask = sharedSession.downloadTaskWithURL(forecastURL!, completionHandler: { (location: NSURL!, response: NSURLResponse!, error: NSError!) -> Void in       
  if (error == nil){
    let dataObject = NSData(contentsOfURL: location!)
    let weatherDictionary : NSDictionary = try NSJSONSerialization.JSONObjectWithData(dataObject, options: nil, error: NSError?) as! NSDictionary
    let currentWeather = Weather(weatherDictionary: weatherDictionary)
    dispatch_async(dispatch_get_main_queue(), { () -> Void in
      self.currentTemperature.text = "\(currentWeather.temperature)"
      self.iconView.image = currentWeather.icon!

      let formatter = NSDateFormatter()
      formatter.timeStyle = .ShortStyle
      self.currentTime.text = formatter.stringFromDate(NSDate())
      self.humidity.text = "\(Int(currentWeather.humidity * 100))%"
      self.rain.text = "\(Int(currentWeather.precipProbability))%"
      self.summary.text = "\(currentWeather.summary)"

      self.refreshActivityIndicator.stopAnimating()
      self.refreshActivityIndicator.hidden = true
      self.refreshButton.hidden = false
        })

1 个答案:

答案 0 :(得分:0)

尝试从通话中删除第二个最后一个错误参数。然后使用do catch块来处理错误。

sharedSession.downloadTaskWithURL(forecastURL!, completionHandler: { (location: NSURL?, response: NSURLResponse?) -> Void in