У меня есть очень большой массив данных, которые я использую для поиска. Однако я хотел бы фильтровать только то, что пользователь вводит в панель поиска. То есть если вы наберете «b», вы получите только предметы, начинающиеся с b. Этот список насчитывает более 200 000 предметов, поэтому теперь даже с большим количеством писем, результаты часто неактуальны. Я попытался найти много, но каждый путеводитель я нашел это изменение того, что у меня есть:Отфильтровать табличное представление с UISearchResultsUpdating
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()
}
}
Я понимаю, что с помощью «содержит» будет иметь выше эффект. Но я не могу понять, как отфильтровать его желаемым образом. Например, мне бы хотелось, чтобы, если я войду в «Бен», он покажет результаты, такие как «Бенди», «Бенху», «Бенджи» и т. Д. Не так, чтобы он показывал результаты, такие как «Юбен», «Ибено» и т. Д., Вы получаете изображение.
Спасибо за помощь!
Только то, что я искал, спасибо! – nixa