在上面的屏幕截图中,您可以看到rangeOfString
已在字符串“为什么#ThisIsACoup趋势? - BBC新闻”中返回“DEnt”的位置
我希望它返回NSNotFound
,因为“DEnt”不是tmp
变量中字符串的子字符串。任何人都可以向我解释为什么会这样吗?
以下是截图中使用的代码。
func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
filtered = xmlParser.arrParsedData.filter({ (dict) -> Bool in
let tmp: NSString = dict["title"]!
let range = tmp.rangeOfString(searchText, options: NSStringCompareOptions.CaseInsensitiveSearch)
return range.location != NSNotFound
})
if(filtered.count == 0) {
searchActive = false;
} else {
searchActive = true;
}
self.tableView.reloadData()
}
答案 0 :(得分:2)
您的屏幕截图显示了range.location =一个巨大的数字。这个巨大的数字是NSNotFound(在64位平台上);它正在做正确的事。