Как отфильтровать массив данных JSON на основе выбора средства выбора? - PullRequest
0 голосов
/ 06 февраля 2020

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

static var countries: [String: [WorldData]] {
        Dictionary(
            grouping: worldData,
            by: { $0.country }
        )
    }



 static var city: [String: [WorldData]] {
        Dictionary(
            grouping: worldData,
            by: { $0.city }
        )

    }

Picker(selection: $Country,
                   label: Text("Country")) {

                    ForEach(self.countries.keys.sorted(), id: \.self) { key in
                        Text(key).tag(key)


                    }
            }

1 Ответ

0 голосов
/ 07 февраля 2020

После хорошего сна я решил собственную проблему. Если кому-то это нужно, вот решение:

    static func filteredCities(key:String) -> [String: [WorldData]] {
            var cities: [String: [WorldData]] {
                Dictionary(
                    grouping: worldData.filter{$0.species == key},
                    by: { $0.city }
                )
            }
            return cities
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...