如何过滤字典[[String:String]]

时间:2015-12-27 18:20:39

标签: ios iphone xcode swift uisearchbar

我的应用程序中有一个很大的字典:

var data = [["type":"Sport", "model":"R6"],["type":"Enduro", "model":"Tenerre"],["type":"Chopper", "model":"Intruder"]]

我希望使用此函数UISearchController

func updateSearchResultsForSearchController(searchController: UISearchController)中对其进行排序

在这个函数里面我想通过"类型"来过滤我的数组。不使用forfilter(includeElement: (Self.Generator.Element) throws -> Bool)但我收到错误Cannot convert value of type String -> Bool to expected argument type ([String:String]) -> Bool

我正在做这样的事情:

self.data.filter({ (type: String) -> Bool in
        return true     
    })

我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

data的类型为[[String:String]]。换句话说,是Array of [String:String]

因此,传递给filter的闭包参数必须具有以下类型:[String: String]

您可以使用以下代码并将您的简单return true替换为您的逻辑。

let filteredData = self.data.filter { (dict:[String:String]) -> Bool in
    return true
}
  

请注意,dict是数组data i-th 元素。