Структурировать не видя его содержания? - PullRequest
0 голосов
/ 14 января 2019

Итак, я пытаюсь получить данные,

struct  Location: Decodable {
    var elevation = String()
    var id = String()
    var latitude = String()
    var longitude = String()
    var name = String()
    var region = String()
    var unitaryAuthArea = String()
     }

struct  Locations: Decodable {
    var Location :[Location]
}


struct Weather: Decodable{
    var Locations :[Locations]
}

внутри них, однако, по какой-то причине, когда я использую эту строку

  let withoutElevation = weather.Locations.Location.filter {$0.elevation == nil}

Я не могу получить ошибку, что у LOCATIONS есть LOCATION. есть идеи почему?

1 Ответ

0 голосов
/ 14 января 2019

Это можно лучше понять, изучив типы, которые используются на каждом этапе этой "цепочки".

let withoutElevation = weather // Weather
    .Locations // [Locations]
    .Location // doesn't exist, but Location was intended
    .filter {$0.elevation == nil} // invalid, but [Location] was intended

В этот момент ошибка становится понятной. weather.Locations - это [Locations], в котором нет члена Location. На самом деле вы хотели получить все Location в структуре Locations.

Зная это, сделайте еще один удар и посмотрите, как далеко вы сможете продвинуться. Дайте мне знать, если у вас есть дополнительные вопросы

Примечание для других: Это прекрасная возможность для обучения. Я попытался указать ОП в правильном направлении, и, надеюсь, он оттуда продвинется. Пожалуйста, не портите ответ сразу

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