使用Google搜索這個主題並閱讀其他人對其他主題的回答並將其建議付諸實施後,我仍然無法弄清楚。IOS:呼叫可以丟棄,但沒有標記'嘗試',但不會處理錯誤
在我的代碼:
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)
和錯誤的存在:
呼叫可以扔掉,但是沒有打上「嘗試」和誤差沒有處理
您需要將所有的數據在{}括號內一個做的{} catch {}塊,並將'let json = JSON(data:data)'改爲'let json = try JSON(data:data)' – murphguy
閱讀搖擺語言指南。認真。 – Alexander