在我的iOS應用程序中,我已經實現了核心數據和搜索欄的表格視圖。在當前狀態下,搜索僅顯示以搜索字符串開頭的字段,但我想要顯示包含至少三個字符長度的搜索文本的字段。NSComparisonResult選項
That's是我的搜索功能代碼:
- (void)filterContentForSearchText:(NSString*)searchText scope:(NSString*)scope
{
NSLog(@"Previous Search Results were removed.");
[self.searchResults removeAllObjects];
for (Person *person in [self.fetchedResultsController fetchedObjects])
{
if ([scope isEqualToString:@"All"] || [person.firstname isEqualToString:scope])
{
NSComparisonResult result = [person.firstname compare:searchText
options:(NSCaseInsensitiveSearch|NSDiacriticInsensitiveSearch)
range:NSMakeRange(0, [searchText length])];
if (result == NSOrderedSame)
{
NSLog(@"Adding person.firstname '%@' to searchResults as it begins with search text '%@'", person.firstname, searchText);
[self.searchResults addObject:person];
}
}
}
}
請你們教我做搜索爲想要的方式,其中有至少三個字符的搜索字符串的任何領域長度。 謝謝。
愚蠢的評論,我敢肯定,但你大概的意思是包含在同一順序搜索字符串至少有三個字符,因爲它們出現在搜索字符串?所以搜索字符串可以是「abcdef」,並且匹配「stcdepqr」而不是「edabfc」? – Tommy
是的,你是對的,抱歉....謝謝你tommy :)例如:搜索字符串:#10,選定字段:任務#10 /組#101等。 – mvasco
這是否意味着searchText#10會匹配與#0120匹配,因爲它與searchText匹配3個字符,或者您正在查找3個連續字符? –