I use following code to search a tableviewcontroller in my app. Currently search string matches with restaurant name in my table list. I wish to match/search additional string , location with my code. How can I add location to this function
restaurant name variable - restaurant.name ,
restaurant location variable - restaurant.location
func filterContentForSearchText(searchText: String) {
searchResults = restaurants.filter({ ( restaurant: Restaurant) -> Bool in let nameMatch = restaurant.name.rangeOfString(searchText, options:
NSStringCompareOptions.CaseInsensitiveSearch)
return nameMatch != nil
})
}
func updateSearchResultsForSearchController(searchController: UISearchController) {
let searchText = searchController.searchBar.text
filterContentForSearchText(searchText!)
tableView.reloadData()
}
How can I add this additional parameter in my filter method?
Try this.
func filterContentForSearchText(searchText: String) {
searchResults = restaurants.filter({ ( restaurant: Restaurant) -> Bool in
let nameMatch = restaurant.name.rangeOfString(searchText, options:
NSStringCompareOptions.CaseInsensitiveSearch)
let locationMatch = restaurant.location.rangeOfString(searchText, options:
NSStringCompareOptions.CaseInsensitiveSearch)
return (nameMatch != nil || locationMatch != nil)
})
}