<UISearchBarDelegate> NSMutableArray *arr1,*arrreslt;
NSString *str1; BOOL issearching;
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
if (issearching)
{
return arrreslt.count;
}
else
{
return arr1.count;
}
// return 0;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
if (issearching)
{
cell.textLabel.text = [arrreslt objectAtIndex:indexPath.row];
}
else{ cell.textLabel.text = [arr1 objectAtIndex:indexPath.row];
}
return cell;
}
-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{
[arrreslt removeAllObjects]; issearching = TRUE;
for (NSString *str in arr1)
{
NSRange rang = [str rangeOfString:searchText]; if (rang.length > 0 && rang.location == 0)
{
[arrreslt addObject:str];
}
}
[tblview reloadData];
}
-(BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
{
[searchBar setShowsCancelButton:YES];
[searchBar setShowsBookmarkButton:YES];
return YES;
}
-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[searchBar resignFirstResponder]; }
-(void)searchBarCancelButtonClicked:(UISearchBar *)searchBar{ [searchBar resignFirstResponder]; issearching = false; [tblview reloadData];
}
Or
NSMutableArray *arr,*arrfiltr; NSString *strng1,*strng2;
BOOL isserarching;
arr=[[NSMutableArray alloc]initWithObjects:@”beach”,@”civic”,@”family”,@”happy”,@”icecream”, @”nature”,@”rose”,@”sport”,@”valentine”, nil];
arrfiltr=[[NSMutableArray alloc]init]; if (isserarching)
return [arrfiltr count];
return [arr count]; if (isserarching)
{
cell.textLabel.text=[arrfiltr objectAtIndex:indexPath.row];
}
else{ cell.textLabel.text=[arr objectAtIndex:indexPath.row];
}
-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText{
if (searchText.length>0) { isserarching = YES;
[arrfiltr removeAllObjects]; for (int i=0; i<arr.count; i++)
{
NSString *strng=[arr objectAtIndex:i];
NSRange rng=[strng rangeOfString:searchText options:NSCaseInsensitiveSearch];
if (rng.location != NSNotFound) { [arrfiltr addObject:strng];
}
}
}
Else
{
isserarching = NO;
}
[tblview reloadData];
}
-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
{
[searchBar resignFirstResponder];
}