在具有多个键的字典数组中搜索
Search in Array of dictionary with multiple keys
我有一组配置文件 class:
let foo = [
[profileClass],
[profileClass],
[profileClass],
]
个人资料 class 如下:
class profileClass: modelclass {
let name: String
let severity: String
let address : String
init(name: String, severity: String, address: String){
self.name = name
self.severity = severity
self.address = address
}
}
我如何使用谓词在名称和地址的键中执行搜索选项 both.I 我正在使用以下逻辑,但它仅从键“名称”中过滤,它不是谓词。
如果字符串存在于“名称”或“地址”中,我想使用谓词和搜索结果
guard foo != nil, foo?.count ?? 0 > 0 && searchString != nil else { return }
var filteredfoo = foo?[0].modelclass.filter { viewModel -> Bool in
return viewModel.name.containsIgnoringCase(find: searchString!)
}
只需在 return 语句中添加 || viewModel.address.containsIgnoringCase(find: searchString!)
。
所以最终 return 看起来像这样:
return viewModel.name.containsIgnoringCase(find: searchString!) || viewModel.address.containsIgnoringCase(find: searchString!)
我有一组配置文件 class:
let foo = [
[profileClass],
[profileClass],
[profileClass],
]
个人资料 class 如下:
class profileClass: modelclass {
let name: String
let severity: String
let address : String
init(name: String, severity: String, address: String){
self.name = name
self.severity = severity
self.address = address
}
}
我如何使用谓词在名称和地址的键中执行搜索选项 both.I 我正在使用以下逻辑,但它仅从键“名称”中过滤,它不是谓词。 如果字符串存在于“名称”或“地址”中,我想使用谓词和搜索结果
guard foo != nil, foo?.count ?? 0 > 0 && searchString != nil else { return }
var filteredfoo = foo?[0].modelclass.filter { viewModel -> Bool in
return viewModel.name.containsIgnoringCase(find: searchString!)
}
只需在 return 语句中添加 || viewModel.address.containsIgnoringCase(find: searchString!)
。
所以最终 return 看起来像这样:
return viewModel.name.containsIgnoringCase(find: searchString!) || viewModel.address.containsIgnoringCase(find: searchString!)