2012-05-23 6 views
0

UISearchBar를 사용하여 배열에서 단어를 검색해야합니다. 예를 들어, 인덱스 2의 배열에 "Chicken Salad"문자열이 있습니다. 이제 마지막 단어 "Salad"를 사용하여 검색하려면 다음을 수행해야합니다. 시간 동안이 코드를 사용하고 있으며 그것은 잘 작동하지만 첫 단어에서 검색하는 경우. 다음,UISearchBar를 사용하여 배열 문자열에서 두 번째 단어를 검색하는 방법은 무엇입니까?

for(NSString *name in menuArray)   
{ 
    if ([name rangeOfString:search options:NSLiteralSearch|NSCaseInsensitiveSearch].location != NSNotFound) 
     [tableMenuArray addObject:name]; 
      NSLog(@"Found"); 

} 
+0

검색하려면 NSPredicate를 사용하십시오. – Narayana

답변

1

도움 당신은 쉽게 두 번째 배열에 대한 검색 막대를 사용할 수 있으며, 당신이 원하는 정확한 결과를 찾을 수 있습니다.

for (NSString *name in lastnames) 
    { 

      NSComparisonResult result = [name compare:searchText options:(NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch) range:NSMakeRange(0, [searchText length])]; 
      if (result == NSOrderedSame) 
      { 
       [searchedNames addObject:name]; 
      } 

    } 
0

먼저 당신이 두 부분에 배열 이름을 중단해야하며, 두 개의 배열을 만들 :

(appDelegate.isAirlineSelection == YES) { 
      for (int i = 0; i < [menuArray count]; i++) { 
       if ([[[[menuArray objectAtIndex:i] itemName] uppercaseString] hasPrefix:search]||[[[[menuArray objectAtIndex:i] itemName] uppercaseString] hasSuffix:search]) { 
        [tableMenuArray addObject:[menuArray objectAtIndex:i]]; 
        NSLog(@"Found"); 
       } 
      } 

친절 그것은 심지어 단어 사이에 검색 할 수 있습니다,이 방법을 시도 나에게

관련 문제