2011-01-07 25 views
2

如何從NSMutableArray搜索子字符串?從iphone中的可變陣列搜索子字符串

的NSMutableArray 名稱具有字符串值,

SEARCHTEXT是一個子串從名稱數組的值進行搜索。

for (NSString *sTemp in names) 
    { 
     NSRange titleResultsRange = [sTemp rangeOfString:searchText options:NSCaseInsensitiveSearch]; 
     //NSLog(@"sTemp = %@, searchText = %@",sTemp,searchText); 
     NSLog(@"%@",titleResultsRange.length); 
     if (titleResultsRange.length > 0) 
      [Items addObject:sTemp]; 
    } 

回答

2

你是對的。問題是什麼? 你也可以不喜歡它:

for (NSString *sTemp in names) 
    { 
     NSRange titleResultsRange = [sTemp rangeOfString:searchText options:NSCaseInsensitiveSearch]; 
     if (titleResultsRange.location != NSNotFound) 
      [Items addObject:sTemp]; 
    } 
+0

感謝您的輸入。但是它並沒有將sTemp的值傳遞給Items數組。當我嘗試將Items數組值存入控制檯時,它顯示爲空。可以做些什麼? – Meghan 2011-01-07 07:15:11

1

你也可以用NSPredicate過濾你的陣列,像這樣:

NSArray *items = [names filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self contains[cd] %@",searchText]];