2016-04-28 11 views
2

Ich verwende folgenden Code, um einen Tableviewcontroller in meiner App zu suchen. Derzeit stimmt der Suchbegriff mit dem Namen des Restaurants in meiner Tabelle überein. Ich möchte zusätzliche Zeichenfolge, Ort mit meinem Code suchen. restaurant.name,
Restaurant Lage variabel - - restaurant.locationzweiter Parameter für Filtermethode in Swift 2.0

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() 
    } 

Wie kann ich diese zusätzlichen Parameter in meiner Filtermethode hinzufügen Wie kann ich Standort für diese Funktion

Restaurant Name Variable hinzufügen?

Antwort

4

Versuchen Sie dies.

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) 
     }) 
    } 
+0

Danke Sumeet. Es funktionierte ! – Vinod

2

Sie können tun, wie diese

func filterContentForSearchText(searchText: String) { 

     searchResults = restaurants.filter({(restaurant: Restaurant) -> Bool in 

      return restaurant.location.lowercaseString.containsString(searchText.lowercaseString) || restaurant.name.lowercaseString.containsString(searchText.lowercaseString) 

     }) 

     tableView.reloadData() 
     } 

Delegatmethode

func updateSearchResultsForSearchController(searchController: UISearchController) { 

    filterContentForSearchText(searchController.searchBar.text!) 
    } 

Diese Methode werden Sie in einer besseren Art und Weise suchen helfen