快速过滤 [[NSDictionary]]

Posted

技术标签:

【中文标题】快速过滤 [[NSDictionary]]【英文标题】:Filter [[NSDisctionary]] in swift 【发布时间】:2019-11-15 07:23:04 【问题描述】:

我有一个字典数组,我正在尝试根据需要过滤掉“displayName”与 SearchText 相等或匹配但结果获取字典的所有值的数据,请让我知道我错在哪里。

enter image description here 我得到的数据在图像中是这样的

dic 就像static var singleDetails = [[NSDictionary]]() 这是我要过滤的代码

func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String)
 
  let results = variables.sinDetails.filter()  ($0[0]["displayName"] as? String) != searchText 

   

【问题讨论】:

不要在双精度数组中使用字典(尤其是无类型字典)之类的东西。 Swift 不是 javascript。使用结构和类。 【参考方案1】:

试试这个:

func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) 
    let results = variables.sinDetails.filter()  
        ($0[0]["displayName"] as? String).contains(searchText) 
    

【讨论】:

以上是关于快速过滤 [[NSDictionary]]的主要内容,如果未能解决你的问题,请参考以下文章

如何返回数据类型:Swift 中的 NSDictionary

JSON 和嵌套的 NSDictionary

使用具有多个值的键创建 NSDictionary

在具有 JSON 源的 NSDictionary 上应用过滤器并计算平均值

使用 objectForKey 返回错误类型的键

NSDictionary setValue:forKey: -- 得到“这个类不是键值编码兼容的键”