讨论:实现自定义搜索结果表视图单元格的最佳方法

时间:2013-11-07 06:47:22

标签: ios iphone uitableview uisearchdisplaycontroller

我正在尝试实现自定义搜索结果表视图单元格。我见过人们在Here等话题中讨论事情。

最后,我已经决定了实现这一目标的方法。

enter image description here

正如您所看到的,我已经在UITableView中创建了可重用的单元格。

所以基于逻辑

if(tableView == self.searchDisplayController.searchResultsTableView)

我将使用self.tableView中的不同标识符对可重用单元格进行出列。

但我现在发现的问题是表现。

我发现如果我以这种方式实现它,当你滚动searchResultTableView时你会发现有点滞后,这是完全不需要的。

那么有什么建议可以更好地实施吗?

由于

1 个答案:

答案 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;
}