模糊搜索(searchBar)

//

//  ViewController.m

//  locationSerBar

//

//  Created by 添锦 on 16/3/3.

//  Copyright © 2016 添锦. All rights reserved.

//


#import "ViewController.h"


@interface ViewController ()<UITableViewDataSource,UITableViewDelegate,UISearchBarDelegate>

@property (strong, nonatomic) IBOutlet UISearchBar *searchBar;

@property (strong, nonatomic) IBOutlet UITableView *tableView;

@property (strong, nonatomicNSArray  *dataArray;

@property (strong, nonatomicNSMutableArray *dataSource;


@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    _searchBar.delegate = self;

    _dataArray = [[NSArray alloc]initWithObjects:@"",@"很好",@"很好",@"手动阀",@"", nil];

    _dataSource = [NSMutableArray arrayWithArray:_dataArray];

    self.tableView.delegate = self;

    self.tableView.dataSource = self;

    [self.tableView reloadData];

}

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

{

    if (searchText != nil && searchText.length > 0) {

        _dataSource = [NSMutableArray array];

        for (NSString *tempStr in _dataArray) {

            NSMutableString *ms = [[NSMutableString alloc] initWithString:searchText];

             NSMutableString *ts = [[NSMutableString alloc] initWithString:tempStr];

            //进行转换

            CFStringTransform((__bridge CFMutableStringRef)ms, 0, kCFStringTransformMandarinLatin, NO);

             CFStringTransform((__bridge CFMutableStringRef)ts, 0, kCFStringTransformMandarinLatin, NO);

            /**

             **这两行可以去除音调

             */

            CFStringTransform((__bridge CFMutableStringRef)ms, NULL, kCFStringTransformStripDiacritics, NO);

            CFStringTransform((__bridge CFMutableStringRef)ts, NULL, kCFStringTransformStripDiacritics, NO);

            NSLog(@"去掉声母号  %@",ms);

                if ([ts rangeOfString:ms options:NSCaseInsensitiveSearch].length >0 ) {

                    [_dataSource addObject:tempStr];

        }

        [_tableView reloadData];

        }

    }else{

        _dataSource = [NSMutableArray arrayWithArray:_dataArray];

        [_tableView reloadData];


    }


}

//-(void) searchBarSearchButtonClicked:(UISearchBar *)searchBar {

//    [self searchBar:self.searchBar textDidChange:nil];

//}

//

//- (void)searchBarCancelButtonClicked:(UISearchBar *) searchBar

//{

//    [self searchBar:self.searchBar textDidChange:nil];

//}



- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

    return [_dataSource count] > 0 ?[_dataSource count]:0;

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

   static NSString *cellId = @"cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId];

    if (cell == nil) {

        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellId];

    }

    if([_dataSource count]!= 0 && ![_dataSource isKindOfClass:[NSNull class]] && _dataSource !=nil){

        cell.textLabel.text = _dataSource[indexPath.row];

    }

    return cell;

}

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


@end


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值