我正在尝试实现 searchDisplayController 但我遇到了问题。一旦我过滤了单元格,当我选择剩余的单元格时,我会得到一堆奇怪的文本:
http://postimage.org/image/4fswe8t8n/
这就像把我所有的牢房合二为一。
所以有我的 cellForRowAtIndexPath 方法:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"MFriendCell";
UITableViewCell *cell = [tableView
dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
if(tableView == self.tableView) {
UILabel *nameLabel = (UILabel *)[cell viewWithTag:201];
nameLabel.text = [self.allItems objectAtIndex:indexPath.row];
}
else if(tableView == self.searchDisplayController.searchResultsTableView) {
UILabel *labelName = [ [UILabel alloc ] initWithFrame:CGRectMake(50, 0.0, 150.0, 43.0) ];
labelName.text = [self.searchResults objectAtIndex:indexPath.row];
[cell addSubview:labelName];
}
return cell;
}
我的过滤器:
- (void)filterContentForSearchText:(NSString*)searchText
scope:(NSString*)scope
{
NSPredicate *resultPredicate = [NSPredicate
predicateWithFormat:@"SELF contains[cd] %@",
searchText];
self.searchResults = [self.allItems filteredArrayUsingPredicate:resultPredicate];
}
如果您需要其他任何东西,请询问:)