【发布时间】:2017-07-11 02:08:10
【问题描述】:
在谷歌搜索该主题并阅读其他人对其他主题的答案并将他们的建议实施到我的之后,我仍然无法弄清楚。
在我的代码中:
import Foundation
protocol WeatherServiceDelegate {
func setWeather(weather: Weather)
}
class WeatherService {
var delegate: WeatherServiceDelegate?
func getWeather(city: String) {
let path = "http://samples.openweathermap.org/data/2.5/weather?q=London,uk&appid=b1b15e88fa797225412429c1c50c122a1"
let url = URL(string: path)!
let session = URLSession.shared
let task = session.dataTask(with: url) { (data: Data?, response: URLResponse?, error: Error?) -> Void in
if let data = data {
//print(">>>>\(data)")
let json = JSON(data: data)
}
}
task.resume()
}
}
我从这一行得到错误。 JSON 中的“J”正下方的红色小箭头...
let json = JSON(data: data)
错误是:
调用可以抛出,但没有标记'try'并且错误没有被处理
【问题讨论】:
-
您需要将数据{}括号内的所有内容放在 do {} catch{} 块内,并将
let json = JSON(data: data)更改为let json = try JSON(data: data) -
阅读摇摆语言指南。说真的。
标签: swift