获得"断言失败"在UISearchResultsTableView中

时间:2014-11-01 06:11:24

标签: ios uisearchbar uisearchdisplaycontroller

当我开始在SearchBar中输入搜索文本

时,我收到以下错误
Assertion failure in -[UISearchResultsTableView _configureCellForDisplay:forIndexPath:]

cellForRowAtIndexPath的{​​{1}}代码如下:

Search Display Controller

1 个答案:

答案 0 :(得分:5)

用这个替换你的代码可能会起作用。

if(tableView == self.searchDisplayController.searchResultsTableView)
{
    static NSString *CellIdentifier = @"cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

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

    cell.textLabel.text = [search objectAtIndex:indexPath.row];

    return cell;
}

因为一旦你发现单元格对象再次为nil,你就会使用[tableView dequeueReusableCellWithIdentifier:CellIdentifier];分配带有nil对象的单元格,这就是它无法正常工作的原因。