0
검색 창을 사용하여 필터링 할 수있는 매우 큰 데이터 배열이 있습니다. 그러나 사용자가 검색 창에 입력 한 내용 만 정확하게 필터링하고 싶습니다. 나는. "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