iOSsearch结果顺序

我有一个UISearchBarsearch数据表。 当inputsearch时,结果按如下顺序显示:

开始input“ch …”1.疼痛2.樱桃3.select

对于我(和我的应用程序)来说,“樱桃”和“select”将成为结果的顶部,因为“ch”而不是“ach”被input。对于这一点,可以通过编程方式进行更改,还是只是iOSsearch的工作方式?

您必须提供search选项作为NSAnchoredSearch

NSRange searchRange = [sortedString rangeOfString:searchText options:NSAnchoredSearch];

下面列出了一些search方法

NSCaseInsensitiveSearch

NSLiteralSearch

NSBackwardsSearch

NSAnchoredSearch

NSNumericSearch

NSDiacriticInsensitiveSearch

NSWidthInsensitiveSearch

NSForcedOrderingSearch

NSRegularExpressionSearch

例如:

- (void)search { NSString *searchText = [searchBar.text lowercaseString]; for (int index = 0; index < [availableCollectionArray count]; index++) { NSArray *tempArray = [availableCollectionArray objectAtIndex:index]; for (int tempIndex = 0; tempIndex < [tempArray count] ; tempIndex++) { NSString *sortedString = [tempArray objectAtIndex:tempIndex]; NSRange searchRange = [sortedString rangeOfString:searchText options:NSAnchoredSearch]; if (searchRange.length > 0) { [sortedArray addObject: sortedString]; //add the string which starts from searchBar.text } } } }