当我开始在SearchBar中键入搜索文本时出现以下错误
Assertion failure in -[UISearchResultsTableView _configureCellForDisplay:forIndexPath:]
我的
cellForRowAtIndexPath
代码Search Display Controller
如下:if(tableView == self.searchDisplayController.searchResultsTableView)
{
static NSString *CellIdentifier = @"cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if(cell == nil)
{
cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
}
cell.textLabel.text = [search objectAtIndex:indexPath.row];
return cell;
}
最佳答案
用此代码替换您的代码,可能会起作用。
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对象分配了该单元格,这就是它不起作用的原因。关于ios - 在UISearchResultsTableView中获取“断言失败”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26686684/