1
1. 내 응용 프로그램에 Searchbar Controller 구현이 있습니다.ios에서 TableView의 Api 및 응답 세트로 검색하는 방법은 무엇입니까?
2. 내 APi를 통해 데이터베이스에서 검색하고 싶습니다.
3.When i 검색 Brasss 구성 요소 api가 호출되고 Api Response가 tableVIew에 설정되어 있습니다.
사전 감사합니다.
1. 내 응용 프로그램에 Searchbar Controller 구현이 있습니다.ios에서 TableView의 Api 및 응답 세트로 검색하는 방법은 무엇입니까?
2. 내 APi를 통해 데이터베이스에서 검색하고 싶습니다.
3.When i 검색 Brasss 구성 요소 api가 호출되고 Api Response가 tableVIew에 설정되어 있습니다.
사전 감사합니다.
은 .H 파일 구현이 [
같은 텍스트 필드와 검색 기능 설명서를 구현합니다.
#import "ViewController.h" @interface ViewController() <UITableViewDataSource,UITableViewDelegate,UITextFieldDelegate> { NSMutableArray *arrOfColor; NSMutableArray *searchArray; NSString *searchTextString; BOOL isFilter; } @property (strong, nonatomic) IBOutlet UITextField *searchTextField; @property (strong, nonatomic) IBOutlet UITableView *colorTableview; @end
는하는 .m 파일을 구현합니다.
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
arrOfColor=[NSMutableArray arrayWithObjects:@"Red",@"Green",@"Blue",@"Gray",@"Black",@"White",@"Yellow",@"Brown",@"Pink",nil];
[self.searchTextField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
}
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if(isFilter)
{
return [searchArray count];
}
else
return [arrOfColor count];
}
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:@"cell"];
if(!cell)
{
cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
}
if(isFilter)
{
cell.textLabel.text=[searchArray objectAtIndex:indexPath.row];
}
else
{
cell.textLabel.text=[arrOfColor objectAtIndex:indexPath.row];
}
return cell;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if(isFilter)
{
_searchTextField.text=[searchArray objectAtIndex:indexPath.row];
}
else
{
_searchTextField.text=[arrOfColor objectAtIndex:indexPath.row];
}
}
-(void)textFieldDidChange:(UITextField *)textField
{
searchTextString=textField.text;
[self updateSearchArray:searchTextString];
}
-(void)updateSearchArray:(NSString *)searchText
{
if(searchText.length==0)
{
isFilter=NO;
}
else
{
isFilter=YES;
searchArray=[[NSMutableArray alloc]init];
for(NSString *string in arrOfColor){
NSRange stringRange=[string rangeOfString:searchText options:NSCaseInsensitiveSearch];
if(stringRange.location !=NSNotFound){
[searchArray addObject:string];
}
}
[self.colorTableview reloadData];}
}
-(BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
@end
감사합니다. 그러나 검색 표시 줄을 사용하고 있습니다. –