Я делаю какой-то разбор JSON с помощью WeatherAPI. Чтобы я не столкнулся с 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
заявления, чтобы я мог справиться с этим делом.
Большое спасибо.