2012-05-23 94 views
0

我必須使用UISearchBar在數組中搜索單詞。例如,我在索引2的數組中有「Chicken Salad」字符串。現在,如果要用最後一個單詞「Salad」搜索它,那麼我應該怎麼做? 當時我使用這段代碼,它運作良好,但如果你從第一個字搜索。如何使用UISearchBar在數組的字符串中搜索第二個單詞?

(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"); 
       } 
      } 

請幫我

+0

使用NSPredicate進行搜索 – Narayana

回答

1

嘗試這種方式,它會連說話之間搜索:

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

} 
0

首先,你應該在兩個部分打破你的數組名,並創建兩個數組,然後你可以很容易地使用第二個數組的搜索欄,並可以找到確切的結果,你想要什麼。

for (NSString *name in lastnames) 
    { 

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

    } 
相關問題