iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iphone – 使用搜索显示控制器时,Custom CellIdentifier为空大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

在我的tableview中有一个从UITableViewCell类初始化的自定义单元格.我有第一个记录字母的部分,并具有动态创建的indexPath. 我想在我的桌面上添加一个搜索显示控制器.所以我做了,创建了过滤数据的所有方法.我确信我的功能很好,因为我正在打印阵列数到屏幕搜索结果. 我的问题是第一次加载视图,数据在屏幕上.但是当我点击搜索输入并输入一个字母时,我得到’UITableView d
在我的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;
}

大佬总结

以上是大佬教程为你收集整理的iphone – 使用搜索显示控制器时,Custom CellIdentifier为空全部内容,希望文章能够帮你解决iphone – 使用搜索显示控制器时,Custom CellIdentifier为空所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。