在我的表格视图中有我从 UITableViewCell 类初始化的自定义单元格。我有记录首字母的部分,并且有一个动态创建的 indexPath。
我想在我的 tableview 中添加一个搜索显示控制器。所以我做到了,创建了所有过滤数据的方法。我确信我的函数运行良好,因为我正在将数组计数打印到屏幕以获取搜索结果。
我的问题是第一次加载视图时,数据在屏幕上。但是当我点击搜索输入并输入一个字母时,我得到了'UITableView dataSource must return a cell from tableView:cellForRowAtIndexPath:'
错误。使用断点后,我发现我的自定义单元格在搜索后为零。数据存在,但单元格未初始化。
这是我用于自定义单元初始化的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"ObjectCell";
SpeakerCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
NSDictionary *myObject = [[sections valueForKey:[[[sections allKeys] sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)] objectAtIndex:indexPath.section]] objectAtIndex:indexPath.row];
cell.label1.text = [myObject objectForKey:@"myValue"];
return cell;
}
我相信我在 IB 中放置控件时犯了一个错误。所以我添加了对象的截图:
我的表格视图的连接检查器
我的搜索显示控制器的连接检查器
编辑:问题实际上已解决,我使用了 UISearchBar 而不是搜索显示控制器,但我想这个问题仍未解决。所以我愿意尝试任何方法让它发挥作用。