UISearchDisplayController n'affiche pas correctement les cellules personnalisées

J'ai donc un tableView qui a des sections et des lignes, et il utilise une cellule personnalisé de classe. La coutume de la cellule dispose d'un affichage de l'image et un peu de labels. La vue de la table fonctionne très bien, et la recherche fonctionne, à l'exception de la recherche n'affiche pas les étiquettes qui sont dans ma cellule personnalisé de classe, seulement l'imageView avec l'image correcte. Je suis tout à fait confus quant à pourquoi il en est, surtout depuis que l'image s'affiche, mais pas les étiquettes. Voici un peu de code.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {


//TODO: problem with search view controller not displaying labels for the cell, needs fixing
JSBookCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

if(cell == nil) {
    cell = [[JSBookCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}

JSBook *book = nil;
//uses the appropriate array to pull the data from if a search has been performed
if(tableView == self.searchDisplayController.searchResultsTableView) {
    book = self.filteredTableData[(NSUInteger)indexPath.section][(NSUInteger)indexPath.row];
}
else {
    book = self.books[(NSUInteger)indexPath.section][(NSUInteger)indexPath.row];
}

FFMetaData *data = [self.ff metaDataForObj:book];
cell.titleLabel.text = book.title;
cell.priceLabel.text = [NSString stringWithFormat:@"$%@", book.price];
cell.authorLabel.text = book.author;
cell.descriptionLabel.text = book.description;

cell.dateLabel.text = [self.formatter stringFromDate:data.createdAt];
if(book.thumbnail == nil) {
    cell.imageView.image = [UIImage imageNamed:@"messages.png"];
    [self setCellImage:cell withBook:book atIndex:indexPath withTableView:tableView];
}
else {
    cell.imageView.image = [UIImage imageWithData:book.thumbnail];
}

return cell;

}

Avant ce problème, j'ai eu un seul article dans la tableView, et tout a fonctionné parfaitement. Maintenant que j'ai plusieurs sections et de lignes de la recherche est brisé comme je l'ai décrit. Des idées? Aussi, pour [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];j'ai utilisé [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; Mais maintenant si j'utilise que je reçois un étrange exception lorsque j'essaie de recherche:

NSInternalInconsistencyException', la raison: "demande pour rect à l'index non valide chemin ( 2 index [1, 1])'

De sorte que c'est déroutant moi aussi. Merci pour l'aide!

source d'informationauteur terry lewis | 2013-04-09