我使用Swift 3在Xcode中创建了一个搜索栏。我通过api获取数据。但是,当我搜索光标消失时。不仅如此,在我延迟之前,我只能输入一个字母。我不确定这是我的代码,异步还是什么。
所以我找到了这篇文章(http://shrikar.com/swift-ios-tutorial-uisearchbar-and-uisearchbardelegate/)
我遇到的问题是Swift 3中的这一部分:
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
我的问题是如何解释这个?这应该意味着caseInsensitive
类型为String.CompareOptions
?
我是否将其叠加在选项上:caseInsensitive: String.CompareOptions
?
答案 0 :(得分:1)
哇,至少现在我理解文档了。大声笑我把它改为:
let range = tmp.range(of: searchText, options: NSString.CompareOptions.caseInsensitive)