【发布时间】:2016-10-04 20:19:03
【问题描述】:
我使用 weatherAPI 进行某种 JSON 解析。为了防止我遇到 nullPointer(可能页面处于脱机状态或其他问题),我将我的解析覆盖到一个守卫中,因为我认为他保护我展开可选值。
guard
let loadedWeather = (json["weather"] as! [[String:AnyObject]])[0]["description"] as? String,
let loadedTemperatur = (json["main"] as! [String:AnyObject])["temp"] as? Float,
let loadedWindSpeed = (json["wind"] as! [String:AnyObject])["speed"] as? Float
else {
print("Weather JSON-Parsing failed")
return
}
我误解了守卫的功能吗?如果是这样,我该如何解决这个问题?
实际上该页面处于脱机状态,并返回带有其他标签的错误 JSON 页面,例如“天气”、“主要”...等。不包括。我希望在那种情况下我的警卫能把我带到我的else 声明中,这样我就可以处理这种情况了。
非常感谢。
【问题讨论】:
标签: json swift guard optional-values