swift - swift 2.0 中过滤方法的第二个参数

标签 swift uisearchcontroller

我使用以下代码在我的应用程序中搜索 tableviewcontroller。 当前搜索字符串与我的表列表中的餐厅名称匹配。我希望用我的代码匹配/搜索额外的字符串、位置。如何将位置添加到此功能

餐厅名称变量 - restaurant.name ,
餐厅位置变量 - 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()
    }

如何在我的过滤方法中添加这个附加参数?

最佳答案

试试这个。

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

关于swift - swift 2.0 中过滤方法的第二个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36907883/

相关文章:

ios - 隐藏 mapView 上的蓝色用户位置

ios - UISearchBar 的范围与 UITableViewCell 重叠

ios - MasterViewController (UISplitViewController) 上 UISearchBar 下的 UITableView

ios - 我如何在 iOS 8 中使用 UISearchController,其中 UISearchBar 在我的导航栏中并且具有范围按钮?

ios - 使用双击手势识别器和快速流关闭手势识别器

swift - 我需要帮助将 facebook 共享添加到我的 ios 应用程序

ios - tableview 使应用程序变慢,并需要时间来获取数据 - swiftyJSON

ios - Alamofire 在 iOS APP 中将正文添加为字符串

ios - UISearchController UITextField 背景在更新到 iOS 13 后不显示白色

ios - 如何使 UISearchController() 默认隐藏?