2014-10-29 74 views
-1

我正在使用Google服务获取附近的地方。 ,知道我要过滤含有这些词的地方..将NSMutableArray中的NSString与字符串中的另一个NSMutableArray匹配并将其保存在数组中

​​

我搜索它像..

NSString *substring = [NSString stringWithString:textfield.text]; 

    substring = [substring stringByReplacingCharactersInRange:range withString:string]; 

    [self searchAutocompleteEntriesWithSubstring:substring]; 

searchAutocompleteEntriesWithSubstring

- (void)searchAutocompleteEntriesWithSubstring//:(NSString *)substring 
{ 
    [_matchplaces removeAllObjects]; 

// int i=0; 
// for (NSString *word in dataToMatch) 
// { 
//  if ([_tableData containsObject:word]) 
//  { 
//   
//    [_matchplaces addObject: [_tableData objectAtIndex:i]]; 
//  } 
//   
//  i++; 
// } 

    int i=0; 

    for(NSString *curString in _tableData) 
    { 
     NSComparisonResult result = [curString compare:[dataToMatch objectAtIndex:i] options:(NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch) range:NSMakeRange(0, [[dataToMatch objectAtIndex:i] length])]; 

     //NSLog(@"result is %@",result); 

     if (result == NSOrderedSame) 
     { 
      [_matchplaces addObject:curString]; 
     } 
     i++; 
    } 

    [_tv reloadData]; 
} 

这两种方式我searchAutocompleteEntriesWithSubstring使用只返回一个值匹配..任何人都可以建议我为什么它只返回一个值匹配。或者只是分享一些匹配的代码。

像这场比赛的话..

或者我如何使用NSPredicate像

Royal is MyGym is String匹配字符串包含gym(Case insensitvie)

+0

我可以问问原因吗?我也展示了我的努力和代码。并问一个问题。 – Nepster 2014-10-30 08:16:45

回答

0

您可以使用字符串的方法来检查,如果一个字符串包含另一个字符串:

if ([[dataToMatch objectAtIndex:i] rangeOfString:curString options:NSCaseInsensitiveSearch].location != NSNotFound) { 
    // dataToMatch string contains the curString 
} 

iOS8上也有一个NSString方法containsString瓦特这更简单。

相关问题