把tableView的头视图 设置为一个searchBar
创建一个新的数组 用来存储搜索到的信息
1 _searchBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 50)]; 2 _searchDC = [[UISearchDisplayController alloc]initWithSearchBar:_searchBar contentsController:self]; 3 4 5 _searchDC.searchResultsDelegate = self; 6 _searchDC.searchResultsDataSource = self; 7 8 _tableView.tableHeaderView = _searchBar;
在返回cell数量的代理方法中
1 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ 2 3 if (tableView == _tableView) { 4 return _dataArray.count; 5 } 6 7 if (_searchArray == nil) { 8 _searchArray = [[NSMutableArray alloc]init]; 9 }else{ 10 [_searchArray removeAllObjects]; 11 } 12 13 for (NSDictionary * dic in _dataArray) { 14 NSRange range = [dic[@"name"] rangeOfString:_searchBar.text]; 15 if (range.length) { 16 [_searchArray addObject:dic]; 17 } 18 } 19 20 return _searchArray.count; 21 }