DK
Size: a a a
l
l
t
weatherModel
nil? parse(){
AF.request("http://api.openweathermap.org/data/2.5/forecast?q=London&units=metric&appid=f7fbda9fc5f8e8a30619d82ee864d474").responseJSON{response
in
guard
let jsonData = response.data
else {
return}
do {
let weatherModel =
try? JSONDecoder().decode(WeatherModel.
self,from: jsonData)
let list =
try List(from: weatherModel
as! Decoder)
self.degreesLabel.text = String(list.main.temp)
}
catch {
print("Error")
}
}
}
}
WeatherModel: Codable {
let cod: String
let message, cnt: Int
let list: [List]
let city: City
}
// MARK:
- List
struct List: Codable {
let dt: Int
let main: MainClass
let weather: [Weather]
let clouds: Clouds
let wind: Wind
let visibility: Int
let pop: Double
let sys: Sys
let dtTxt: String
let snow: Snow?
enum CodingKeys: String, CodingKey {
case dt, main, weather, clouds, wind, visibility, pop, sys
case dtTxt = "dt_txt"
case snow
}
}
// MARK:
- MainClass
struct MainClass: Codable {
let temp, feelsLike, tempMin, tempMax: Double
let pressure, seaLevel, grndLevel, humidity: Int
let tempKf: Double
enum CodingKeys: String, CodingKey {
case temp
case feelsLike = "feels_like"
case tempMin = "temp_min"
case tempMax = "temp_max"
case pressure
case seaLevel = "sea_level"
case grndLevel = "grnd_level"PV
PV
AT
A
weatherModel
nil? parse(){
AF.request("http://api.openweathermap.org/data/2.5/forecast?q=London&units=metric&appid=f7fbda9fc5f8e8a30619d82ee864d474").responseJSON{response
in
guard
let jsonData = response.data
else {
return}
do {
let weatherModel =
try? JSONDecoder().decode(WeatherModel.
self,from: jsonData)
let list =
try List(from: weatherModel
as! Decoder)
self.degreesLabel.text = String(list.main.temp)
}
catch {
print("Error")
}
}
}
}
WeatherModel: Codable {
let cod: String
let message, cnt: Int
let list: [List]
let city: City
}
// MARK:
- List
struct List: Codable {
let dt: Int
let main: MainClass
let weather: [Weather]
let clouds: Clouds
let wind: Wind
let visibility: Int
let pop: Double
let sys: Sys
let dtTxt: String
let snow: Snow?
enum CodingKeys: String, CodingKey {
case dt, main, weather, clouds, wind, visibility, pop, sys
case dtTxt = "dt_txt"
case snow
}
}
// MARK:
- MainClass
struct MainClass: Codable {
let temp, feelsLike, tempMin, tempMax: Double
let pressure, seaLevel, grndLevel, humidity: Int
let tempKf: Double
enum CodingKeys: String, CodingKey {
case temp
case feelsLike = "feels_like"
case tempMin = "temp_min"
case tempMax = "temp_max"
case pressure
case seaLevel = "sea_level"
case grndLevel = "grnd_level"KK