私は初心者とやって学びました。私はテーブルビューで大学のリストを作って、リストをフィルタリングするための検索バーを持っていました。それはまだ英語の手紙と完全に一致していますが、韓国の手紙の手紙ではありません。韓国語の単語/文字をフィルタリングしていますか?
var filteredUniversities = University.generateUniversities()
override func viewDidLoad() {
super.viewDidLoad()
self.searchBarSetup()
}
func searchBarSetup() {
let searchBar = UISearchBar(frame: CGRect(x: 0, y: 0, width: (UIScreen.main.bounds.width), height: 70))
searchBar.delegate = self
self.tableView.tableHeaderView = searchBar
}
//MARK: Search Bar Delegate
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
//called when text changes (or clears)
if searchText.isEmpty {
filteredUniversities = University.generateUniversities()
self.tableView.reloadData()
}else {
filterTableView(text: searchText)
}
}
func filterTableView(text:String) {
filteredUniversities = filteredUniversities.filter({ (mod) -> Bool in
return (mod.name.contains(text))
})
self.tableView.reloadData()
}
誰もが.filterに韓国語の文字を認識させる方法を知っていますか?私の大学は以下の通りです。 (そこに多くの人がより多くのですが、それらはすべて同じフォーマットに従う)
class func generateUniversities() -> [University]{
var universities: [University] = []
universities.append(University(name: "파고다 어학원", location: "부산", photo: UniversityPhotoDictionary["PAG"]!))
universities.append(University(name: "부산대학교", location: "부산", photo: UniversityPhotoDictionary["PNU"]!))
universities.append(University(name: "동아대학교", location: "부산", photo: UniversityPhotoDictionary["DAU"]!))
universities.sortedリターン(によって:{$ 0.name < $ 1.name}) }
不思議なことに、ソートされました()メソッドが韓国語の文字を処理できますが、フィルタメソッドが分解されているようです。 (唯一の韓国語の文字のために、英語のものは大丈夫です)
私は파고다に入力するのであれば、それはすべてをフィルタしてから選択する一切の大学はありません。
ありがとうございます!
テキストと大学の名前の両方を小文字に変換し、それを次のように比較してみてください: 'mod.name.lowercased()。contains(text.lowercased())' – the4kman
最初はlowercased()それを取り除いた。私はそれが韓国人が上部または下部ケーシングを持っていないので、それが韓国人がフィルタリングしていなかった理由かもしれないと思った。私はそれを元に戻すが、それは問題ではない。しかし、お返事ありがとう! – Anthroman
あなたの質問にお答えする大学の名前と検索テキストを追加してください。 – the4kman