加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

iphone – 使用搜索显示控制器时,Custom CellIdentifier为空

发布时间:2020-12-14 20:06:47 所属栏目:百科 来源:网络整理
导读:在我的tableview中有一个从UITableViewCell类初始化的自定义单元格.我有第一个记录字母的部分,并具有动态创建的indexPath. 我想在我的桌面上添加一个搜索显示控制器.所以我做了,创建了过滤数据的所有方法.我确信我的功能很好,因为我正在打印阵列数到屏幕搜索
在我的tableview中有一个从UITableViewCell类初始化的自定义单元格.我有第一个记录字母的部分,并具有动态创建的indexPath.

我想在我的桌面上添加一个搜索显示控制器.所以我做了,创建了过滤数据的所有方法.我确信我的功能很好,因为我正在打印阵列数到屏幕搜索结果.

我的问题是第一次加载视图,数据在屏幕上.但是当我点击搜索输入并输入一个字母时,我得到’UITableView dataSource必须从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而不是搜索显示控制器,但我猜这个问题仍然没有解决.所以我愿意尝试任何方法来使它工作.

解决方法

截至 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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读