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