在具有多个键的字典数组中搜索

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!)