嗨,我使用以下代码成功地在 arrayTags 中执行了搜索,其中 arrayTags 是每个 XML 元素的字段的数组,名为“tag”。问题是,比方说,标签有三个词:红色、白色、蓝色。如果我执行搜索“红色”或“白色、蓝色”或标签元素中包含的任何内容,一切正常。但是,如果我搜索“红白”,搜索不会返回任何内容。实际上,只有当我准确搜索 arrayTags 中包含的内容而不是不连续的单词时,搜索才会返回结果。你知道我该如何解决这个问题吗?非常感谢!
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{
[resultArray removeAllObjects];
NSString *cellTitle;
for (cellTitle in arrayTags){
NSString *stringa = cellTitle;
NSRange range = [stringa rangeOfString:searchText];
NSComparisonResult result = [cellTitle compare:searchText options:NSCaseInsensitiveSearch range:range];
if (result == NSOrderedSame){
int posizione = [arrayNames indexOfObjectIdenticalTo:cellTitle];
[result Array addObject:[arrayNames objectAtIndex:posizione]];
}
}
[self.tableView reloadData];
}