【问题标题】:Search in Array of dictionary with multiple keys [closed]在具有多个键的字典数组中搜索[关闭]
【发布时间】:2021-03-13 12:49:08
【问题描述】:

我有一组配置文件类:

let foo = [
    [profileClass],
    [profileClass],
    [profileClass],
]

配置文件类如下:

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
  }
}

我如何使用谓词在名称和地址的键中执行搜索选项。我正在使用以下逻辑,但它仅从键“名称”过滤,它不是谓词。 如果字符串存在于“名称”或“地址”中,我想使用谓词和搜索结果

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

【问题讨论】:

  • foo 数组是什么,它真的是一个数组数组,其中内部数组每个只包含一个元素,或者这是某种错字。你能提供一个合适的例子吗?

标签: arrays swift struct predicate


【解决方案1】:

只需在返回语句中添加|| viewModel.address.containsIgnoringCase(find: searchString!)

所以最终的回报应该是这样的:

return viewModel.name.containsIgnoringCase(find: searchString!) || viewModel.address.containsIgnoringCase(find: searchString!)

【讨论】:

  • 强制展开 searchString 导致崩溃
猜你喜欢
  • 2011-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-16
  • 2015-06-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多