【发布时间】:2016-10-27 19:18:43
【问题描述】:
我有一个非常大的数据数组,我使用搜索栏进行过滤。但是,我只想过滤用户在搜索栏中输入的内容。 IE。如果你输入“b”,你只会得到以 b 开头的项目。该列表超过 200,000 项,所以现在即使输入了许多字母,显示的结果通常也无关紧要。我尝试了很多搜索,但我找到的每一个指南都是我所拥有的:
extension MapTableController : UISearchResultsUpdating {
func filterContentForSearchText(_ searchText: String) {
if(searchText == "") {
matchingItems = []
}
else {
matchingItems = arrayOfFixes.filter { fix in
return fix.lowercased().contains(searchText.lowercased())
}
tableView.reloadData()
}
}
func updateSearchResults(for searchController: UISearchController) {
let searchText = searchController.searchBar.text
filterContentForSearchText(searchText!)
self.tableView.reloadData()
}
}
我了解使用“包含”会产生上述效果。但我不知道如何以所需的方式过滤它。例如,我希望这样,如果我输入“Ben”,它会显示“Bendi”、“Benhu”、“Benji”等结果。而不是显示“Juben”、“Ibeno”等结果,你会得到图片。
感谢您的帮助!
【问题讨论】:
标签: swift uitableview uisearchbar