Как разобрать «Дождь» из OpenWeatherMap? - PullRequest
0 голосов
/ 07 октября 2018

При реализации Rain из API OpenWeatherMap я сталкиваюсь с этой ошибкой:

'h' не является допустимой цифрой в целочисленном литерале

У меня есть отдельный документ .swift, анализирующий всеСсылки на API и попытались разобрать Rain, как это:

struct Rain: Decodable {
let 3h: Double?
}

, но я не уверен, как обратиться к "Rain: 3h", чтобы ошибка не возникала .?

Может кто-топожалуйста, посмотрите на API OpenWeatherMap и дайте мне знать их мысли?

Обновления:

struct.swift:

struct Rain: Decodable {
enum CodingKeys: String, CodingKey { case threeHours = "3h" }

let threeHours: Double?
}

ViewController.swift

@IBOutlet weak var precipitation: UILabel!


let clouding = (self.rain?.threeHours!)!
precipitation.text = precipitation.text! + "  " + String(format:"%.0f", clouding)

1 Ответ

0 голосов
/ 07 октября 2018

Просто перевести ключ с помощью CodingKeys

struct Rain: Decodable {
    enum CodingKeys: String, CodingKey { case threeHours = "3h" }

    let threeHours: Double?
}

или

struct Rain: Codable {
    enum CodingKeys: String, CodingKey { case h3 = "3h" }

    let h3: Double?
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...