所以我過濾數據(所有字符串),並希望顯示如下:如何將兩個範圍<Index>添加在一起?
- 的搜索詞,其中的第一個字母包含搜索(例如搜索「溴」當我想看到所有。
- 搜索詞的字符串包含單詞(例如,當搜索'Br'時顯示包含單詞'br'的所有單詞像'開創者')。
我有他們兩人單獨工作(見let found
和let foundMore
),但現在我想合併兩者(第一示出的第一個字母包含搜索的搜索詞,那些地方後該字符串包含該詞)。嘗試使用加號,但它給出了以下錯誤
二元運算符'+'不能應用於兩個'範圍'?操作數
extension SearchResultsController : UISearchResultsUpdating {
func updateSearchResultsForSearchController(searchController: UISearchController) {
self.tableView.reloadData()
let searchBar = searchController.searchBar
let target = searchBar.text!
self.filteredData = self.originalData.filter {
s in
let options = NSStringCompareOptions.AnchoredSearch
let found = s.rangeOfString(target, options: options)
let optionsMore = NSStringCompareOptions.CaseInsensitiveSearch
let foundMore = s.rangeOfString(target, options: optionsMore)
let allTogether = found + foundMore
return (allTogether != nil)
}
self.tableView.reloadData()
}
}
嗨,這工作,但它不會過濾我的數據我想要的方式(檢查1和2,他們應該被視爲這樣,而不是兩者的組合)。這就像我想做一個。附加在第一個數組的末尾(如果這使得sence) – SoundShock
@SoundShock這也是可行的 - 請參閱編輯。 – dasblinkenlight
謝謝,這正是我想要的! – SoundShock