0
时是什么样子给人双重结果。当我将NSCaseInsensitiveSearch
更改为NSLiteralSearch
时,此问题消失,但我需要我的NSRange为NSCaseInsensitiveSearch
。任何人都可以阐明为什么它会产生重复的结果吗?的UISearchBar使用的NSDictionary
时是什么样子给人双重结果。当我将NSCaseInsensitiveSearch
更改为NSLiteralSearch
时,此问题消失,但我需要我的NSRange为NSCaseInsensitiveSearch
。任何人都可以阐明为什么它会产生重复的结果吗?的UISearchBar使用的NSDictionary
我想,你的内循环问题。如果字典有更多的两个键值对。
NSDictionary *string = @{"name":"Good Morning", "message":"Good testing"};
for (NSString *key in string) {
NSString *value = [string objectForKey:key];
NSRange r = [value rangeOfString:searchText options: NSCaseInsensitiveSearch];
if (r.location != NSNotFound) {
[results addObject:string];
}
}
注:以上循环将运行两次。所以你可以在数组中添加两次相同的值。
请提供样本字典。 –