2014-10-29 62 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瓦特這更簡單。

相關問題