加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – iOS搜索结果排序

发布时间:2020-12-15 01:42:35 所属栏目:百科 来源:网络整理
导读:我有一个搜索数据表的UISearchBar.输入搜索后,结果将按以下顺序显示: 开始输入’ch …’ 疼痛 樱桃 3.选择 对我(以及我的应用程序)更有意义的是,’樱桃’和’选择’将成为结果的顶部,因为输入了’ch’而不是’ach’.这是否可以以编程方式更改,还是只是iOS搜
我有一个搜索数据表的UISearchBar.输入搜索后,结果将按以下顺序显示:

开始输入’ch …’
疼痛
樱桃
3.选择

对我(以及我的应用程序)更有意义的是,’樱桃’和’选择’将成为结果的顶部,因为输入了’ch’而不是’ach’.这是否可以以编程方式更改,还是只是iOS搜索的工作方式?

解决方法

您必须将搜索选项指定为NSAnchoredSearch

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

下面列出了一些搜索方法

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
            }       

        }   

    }

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读