为什么它不显示由 uisearchdisplaycontroller 过滤的 UITableView 中的单元格内容。实际上,当我在 Searchbar 中执行搜索时,单元格被正确解码(实际上搜索排序的单元格数量是准确的),但在 cellForRowAtIndexPath 中配置它们的单元格内容未显示(图像和文本)。此外,如果我单击搜索到的单元格之一,prepareForSegue 中的确切方式执行到相应视图控制器的转换。所以问题只是它没有在我的单元格中显示文本和图像。
考虑到数组配置(数组searchResults)是正确的,我给你看我的方法cellForRowAtIndexPath:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSString *identifier = @"MyCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:identifier];
cell.backgroundView = [[UIImageView alloc] initWithImage:myImage];
if ( cell == nil ) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:identifier];
}
if (tableView == self.searchDisplayController.searchResultsTableView) {
UIImage *profileSnap = myProfImage;
NSString *name = [searchResults objectAtIndex:indexPath.row];
UILabel *cellLabelName = (UILabel *)[cell viewWithTag:1];
cellLabelName.text = name;
UIImageView *cellImage = (UIImageView*)[cell viewWithTag:2];
[cellImage setImage:profileSnap];
}
else{
//here it all works
UIImage *profileSnap = [self.arrProfileSnaps objectAtIndex:indexPath.row];
NSString *name = [self.arrNames objectAtIndex:indexPath.row];
UILabel *cellLabelName = (UILabel *)[cell viewWithTag:1];
cellLabelName.text = name;
UIImageView *cellImage = (UIImageView*)[cell viewWithTag:2];
[cellImage setImage:profileSnap];
}
return cell;