1

好的,这是我第一次实现搜索栏。我遵循了几个教程并开始在包含 tableviewcontroller 的项目中实现它。在我的故事板中,我在自定义表格视图单元格上方拖动并添加了一个“搜索栏和搜索栏控制器”。

默认情况下,如果你只是将它拖到你的 tableview 控制器中而不做任何事情,只是运行程序并点击搜索栏,它不会做任何事情,因为没有完成任何实现。

但就我而言,只需点击它,程序就会崩溃并显示以下内容:

2013-09-24 05:29:32.468 TechY[4189:a0b] *** Assertion failure in -[UISearchResultsTableView _configureCellForDisplay:forIndexPath:], /SourceCache/UIKit_Sim/UIKit-2903.2/UITableView.m:6235
2013-09-24 05:29:32.533 TechY[4189:a0b] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath:'

所以我停在这里,不能做其余的实施。有人可以指出可能是什么问题吗?谢谢!

4

1 回答 1

2

那么你需要看看你的 UITableViewDataSourcetableView:cellForRowAtIndexPath:并确保你返回一个UITableViewCell. 很可能是因为您的表格视图在您运行时返回一个,dequeueReusableCellWithIdentifier:但您的 UISearchDisplayController 的 tableView 没有。

我最终运行这样的东西:

static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil && tableView != self.tableView) {
    cell = [self.tableView dequeueReusableCellWithIdentifier:CellIdentifier];
}
于 2013-09-24T01:12:46.173 回答