gpt4 book ai didi

iphone - 使用搜索显示 Controller 时自定义 CellIdentifier 为空

转载 作者:太空狗 更新时间:2023-10-30 03:19:31 27 4
gpt4 key购买 nike

在我的 tableview 中有我从 UITableViewCell 类初始化的自定义单元格。我有记录首字母的部分,并且有一个动态创建的 indexPath。

我想在我的表格 View 中添加一个搜索显示 Controller 。所以我做到了,创建了所有方法来过滤数据。我确信我的函数运行良好,因为我正在打印数组计数以筛选搜索结果。

我的问题是第一次加载 View 时,数据显示在屏幕上。但是当我点击搜索输入并键入一个字母时,我得到了 '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 中放置控件时犯了一个错误。所以我添加了对象的截图:

enter image description here

我的 TableView 的连接检查器

Connections inspector for my table view

我的搜索显示 Controller 的连接检查器

enter image description here

编辑:问题实际上已解决,我使用了 UISearchBar 而不是搜索显示 Controller ,但我想这个问题仍未解决。所以我愿意尝试任何方法让它发挥作用。

最佳答案

截至此处 search display controller question ,您需要访问 self.tableView 而不是 tableView:

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
UITableViewCell *cell = [self.tableView dequeueReusableCellWithIdentifier:@"CellId"];

// do your thing

return cell;
}

关于iphone - 使用搜索显示 Controller 时自定义 CellIdentifier 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10189243/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com