iOS开发 之 搜索

1, 搜索框,支持拼音搜索,与 汉字搜索


初始化  2 个可变数组

一个放要查询的数据

一个放查询到的结果

2, 引入  pinyin   汉子的 第三方库

-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText

{

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];


    searchResults = [[NSMutableArray alloc]init];

    if (mySearchBar.text.length>0&&![ChineseInclude isIncludeChineseInString:mySearchBar.text]) {

        NSLog(@"%lu",(unsigned long)_userData.count);

        NSLog(@"%lu",(unsigned long)self.desArr.count);

        for (int i=0; i<_userData.count; i++) {

            if ([ChineseInclude isIncludeChineseInString:self.desArr[i]]) {

                NSString *tempPinYinStr = [PinYinForObjc chineseConvertToPinYin: self.desArr[i]];

                NSRange titleResult=[tempPinYinStr rangeOfString:mySearchBar.text options:NSCaseInsensitiveSearch];

                if (titleResult.length>0) {

                    NSLog(@"%@",self.desArr[i]);

                    [searchResults addObject:_userData[i]];

                }

                NSString *tempPinYinHeadStr = [PinYinForObjc chineseConvertToPinYinHead:self.desArr[i]];

                NSRange titleHeadResult=[tempPinYinHeadStr rangeOfString:mySearchBar.text options:NSCaseInsensitiveSearch];

                if (titleHeadResult.length>0) {

                    NSLog(@"%@",self.desArr[i]);

                    

                    [searchResults addObject:_userData[i]];

                }

            }

            else {

                NSRange titleResult=[self.desArr[i] rangeOfString:mySearchBar.text options:NSCaseInsensitiveSearch];

                if (titleResult.length>0) {

                    NSLog(@"%@",self.desArr[i]);

                    

                    [searchResults addObject:_userData[i]];

                }

            }

        }

    } else if (mySearchBar.text.length>0&&[ChineseInclude isIncludeChineseInString:mySearchBar.text]) {

        

              NSLog(@"%lu",(unsigned long)_userData.count);

              NSLog(@"%lu",(unsigned long)self.desArr.count);

                for (int i = 0; i<_userData.count; i++) {

                    

                    NSString *tempStr = [self.desArr objectAtIndex:i];

                    NSRange titleResult=[tempStr rangeOfString:mySearchBar.text options:NSCaseInsensitiveSearch];

                    if (titleResult.length>0) {

                        [searchResults addObject:_userData[i]];


                    


            }

        }

    }

    

    

//    [self.tableView reloadData];


}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值