我想在我的应用中实现搜索功能,但我从服务中获取数据。我在对象映射器中有这样的数组
class Country : Mappable {
var countryName:String = ""
var countryID:Int = 0
var countryImage:String = ""
var countryColor:String = ""
required init?(_ map: Map) {
}
func mapping(map: Map) {
countryID <- map["id"]
countryName <- map["name"]
countryColor <- map["color"]
countryImage <- map["image"]
}
}
从这里开始我想过滤搜索功能的数据如何做到这一点。
这里我只过滤国家名称但我想过滤整个数组我怎么做
func updateSearchResultsForSearchController(searchController: UISearchController) {
self.filteredData = self.countryNames.filter { (country:String) -> Bool in
if country.lowercaseString.containsString(self.searchController.searchBar.text!.lowercaseString) {
return true
} else {
return false
}
}
print(filteredData)
// update results table view
self.resultController.tableView.reloadData()
}
答案 0 :(得分:1)
您可以这样过滤数组。
let filter = countries.filter { $0.countryName.lowercaseString.containsString(self.searchController.searchBar.text!.lowercaseString) }
self.resultController.tableView.reloadData()