Swift 3を使用してXcodeで検索バーを作成しました。私はAPIを使用してデータを取得します。しかし、私が検索している間、カーソルが消えます。それだけでなく、私がそれに遅れを入れる前に、私は1文字しか入力できませんでした。私はそれが私のコード、非同期かどうか分からない。 テーブルビューをフィルタリングするときにUISearchFieldに問題が発生する
func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
filtered = data.filter({ (text) -> Bool in
let tmp: NSString = text
let range = tmp.rangeOfString(searchText, options: NSStringCompareOptions.CaseInsensitiveSearch)
return range.location != NSNotFound
})
if(filtered.count == 0){
searchActive = false;
} else {
searchActive = true;
}
self.tableView.reloadData()
}
は、だから私はドキュメントを使用して見つかりました:
static var caseInsensitive: NSString.CompareOptions
は、だから私は、この記事を見つけた(http://shrikar.com/swift-ios-tutorial-uisearchbar-and-uisearchbardelegate/)
私がいる問題は、スウィフト3で、この部分があります
私の質問はこれをどのように解釈するのですか?これは、caseInsensitive
がタイプString.CompareOptions
であることを意味していますか?
これをオプションに積み重ねますか:caseInsensitive: String.CompareOptions
?
私はこれでとても新しいです。私はPythonを知っています。それはそれですが、私はこれらの新しい言語を学ぶのが大好きです。
さらに、 'let range = tmp.range(of:searchText、options:.caseInsensitive)' – rmaddy