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
}