我有一个二维数组
fileprivate var Food : [[FoodModel]] = [[]]
Food = [["Apple","Mango"],["Chocolate","Biscuit"]]
和两个部分
let section = ["Fruits","Dry Food"]
表格视图。它很好地展示了价值。现在我添加了一个搜索栏,用于搜索Food的值。我的问题是我无法通过搜索关键字过滤Food。
Food.filter({}) //what to write here?
self.tableView.reloadData()
答案 0 :(得分:2)
试试这个
let searchString = "Choco"
var result = Food.filter { (dataArray:[FoodModel]) -> Bool in
return dataArray.filter({ (FoodModel) -> Bool in
return FoodModel.containsString(searchString)
}).count > 0
}
答案 1 :(得分:2)
您可以尝试以下方法:
var searchResult = Food.flatMap({ $0 }).filter { $0.lowercased().contains(searchedKeyword) }
首先,flatMap
将数组数组展平为单个数组,然后过滤到生成的数组。