我想在我的应用程序中实现搜索功能,但我从服务中获取数据。 我在对象映射器中有这样的数组
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()
}
您可以像这样过滤数组。
let filter = countries.filter { $0.countryName.lowercaseString.containsString(self.searchController.searchBar.text!.lowercaseString) }
self.resultController.tableView.reloadData()