2017-06-15 29 views
0

时是什么样子给人双重结果。当我将NSCaseInsensitiveSearch更改为NSLiteralSearch时,此问题消失,但我需要我的NSRange为NSCaseInsensitiveSearch。任何人都可以阐明为什么它会产生重复的结果吗?的UISearchBar使用的NSDictionary

+0

请提供样本字典。 –

回答

0

我想,你的内循环问题。如果字典有更多的两个键值对。

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]; 
     } 
    } 

注:以上循环将运行两次。所以你可以在数组中添加两次相同的值。