我正在尝试实现自定义搜索结果表视图单元格。我见过人们在Here等话题中讨论事情。
最后,我已经决定了实现这一目标的方法。
正如您所看到的,我已经在UITableView中创建了可重用的单元格。
所以基于逻辑
if(tableView == self.searchDisplayController.searchResultsTableView)
我将使用self.tableView中的不同标识符对可重用单元格进行出列。
但我现在发现的问题是表现。
我发现如果我以这种方式实现它,当你滚动searchResultTableView时你会发现有点滞后,这是完全不需要的。
那么有什么建议可以更好地实施吗?
由于
答案 0 :(得分:0)
You can make Custom Search With NSPredicate Class Like..
+(NSArray*) searchByPredicate:(NSString*)filterStr fullArray:(NSMutableArray*)arr{
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF CONTAINS[cd] %@",filterStr];
return [arr filteredArrayUsingPredicate:predicate];
}
Implement This Method Here
- (BOOL)textField:(UITextField *) textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
if (string.length>0) {
self.isFilter=YES;
//filter Predicate use from ReverseStr Class
NSArray *searchArr=[NSArray searchByPredicate:string fullArray:self.dataArray];
self.filterArray=[[NSMutableArray alloc]initWithArray:searchArr];
[self.predicateTable reloadData];
}
else{
self.isFilter=NO;
[self.predicateTable reloadData];
}
return YES;
}