Swiftui 如何根据选择器选择过滤JSON数据数组?

Swiftui 如何根据选择器选择过滤JSON数据数组?,swiftui,Swiftui,我想根据选择器选择筛选数据数组。我的问题是如何基于任何选定的国家填充/过滤城市阵列。示例代码如下所示: static var countries: [String: [WorldData]] { Dictionary( grouping: worldData, by: { $0.country } ) } static var city: [String: [WorldData]] {

我想根据选择器选择筛选数据数组。我的问题是如何基于任何选定的国家填充/过滤城市阵列。示例代码如下所示:

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)


                    }
            }

睡个好觉后,我解决了自己的问题。如果有人需要,以下是解决方案:

    static func filteredCities(key:String) -> [String: [WorldData]] {
            var cities: [String: [WorldData]] {
                Dictionary(
                    grouping: worldData.filter{$0.species == key},
                    by: { $0.city }
                )
            }
            return cities
   }