故事板静态单元:dequeueReusableCellWithIdentifier 返回 nil

2024-01-23

使用故事板、静态单元格cellForRowAtIndexPath:线

UITableViewCell *cell = 
   [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

总是返回nil.

我已经检查了以下内容:

  • 单元格的标识符在 IB/Storyboard 中正确设置,并且我在代码中使用相同的标识符。我多次验证过这一点。
  • 我没有在其他地方实例化视图控制器(这是问题所在)这个计算器问题 https://stackoverflow.com/questions/9797821/keep-getting-nil-from-dequeuereusablecellwithidentifier).

我的视图控制器是的子类UITableViewController,当然,包裹成ad hoc故事板中的导航控制器。怀疑我的视图控制器不知何故不知道故事板中定义的单元标识符,因为它可能是另一个实例,这里是“实例化”它的代码。在prepareForSegue:, I use

CustomViewController *vc = [[[segue destinationViewController] 
   viewControllers] objectAtIndex:0];

此处完成的视图控制器的其他自定义(设置属性等)工作正常。

我使用静态单元格是因为部分和行数不会改变,并且每个单元格包含静态文本(以及要编辑的其他控件或文本字段)。

在我看来,这是一个非常常见的任务(在视图控制器的数据源方法中从故事板自定义静态单元)。我究竟做错了什么?


对于表视图中的静态内容,您无需实现任何数据源方法(包括tableView:cellForRowAtIndexPath:,所以你永远不会使单元出队。静态内容不会出队(无论如何,您可以参与其中)。

如果您想获取指向特定单元格的指针:

  • 使用从表视图中获取它cellForRowAtIndexPath::

    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    
  • 有一个特定单元的出口并直接定制它。

  • 迭代单元格并检查reuseIdentifier属性来获取您感兴趣的单元格。

这些事情中的任何一个都可以在 viewWillAppear 或类似的中完成。

如果您希望单元格中的内容与故事板上的内容完全不同,那么静态单元格可能不是正确的选择。您应该将动态原型(请注意,故事板中可以有多个原型)与传统数据源方法一起使用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

故事板静态单元:dequeueReusableCellWithIdentifier 返回 nil 的相关文章

随机推荐

  • 在Python中从目录(有大量文件)中选择随机文件

    我有一个包含大量文件 约 100 万 的目录 我需要从此目录中选择一个随机文件 由于文件太多 os listdir自然需要永恒的时间才能完成 有什么办法可以绕过这个问题吗 也许以某种方式了解目录中的文件数量 不列出它 并选择随机生成 n 的
  • 在项目中包含 image_picker 时出错(Flutter)

    为什么当我执行项目时不断出现此错误 一旦我将 image picker 放入我的 pubspec 中 就会发生这种情况 失败 构建失败并出现异常 什么地方出了错 任务 app processDebugResources 执行失败 Andro
  • R group by 和aggregate - 使用 plyr 返回组内的相对排名

    更新 我有一个数据框 测试 如下所示 session id seller feedback score 1 1 282470 2 1 275258 3 1 275258 4 1 275258 5 1 37831 6 1 282470 7 1
  • R 热图,Y 轴上的标签非常接近

    我正在使用 R 绘制 CSV 文件中数据的热图 10 列 条件和 1000 罗瓦 以下是我正在使用的代码 nba lt read csv 1317754115 csv sep nba matrix lt data matrix nba ce
  • 表动态加载SAPUI5/UI5

    我想在 SAPUI5 Table 组件中显示大量数据 我曾经通过动态加载来实现这些数据表 这意味着该表最初加载了约 50 条记录 用户向下滚动足够远后 下一组 50 条记录将加载到表中 这样我就可以显示包含超过 160 000 个条目的表格
  • 如何调试在客户计算机上崩溃的 Windows 应用商店应用程序?

    我收到一位客户的支持电子邮件 说他的应用程序在启动时崩溃 他收到的只是一条类似以下的消息 应用程序名称 遇到问题您可以向 Microsoft 发送有关以下内容的信息 出了什么问题来帮助改进这个应用程序 将发送给 Microsoft 的文件
  • Android Studio 禁用换行

    我在 Android Studio 上有这个奇怪的换行符 我想禁用它 因为它让我害怕 It s also available under the context menu
  • 放弃对 JRE 1.3 的支持

    我们提供了一个流行的开源 Java FTP 库 称为edtFTPj http www enterprisedt com products edtftpj overview html 我们希望放弃对 JRE 1 3 的支持 这将清理代码库 并
  • 将 Python 字典列表转换为 Postgresql json 数组

    我正在尝试将 jsonb 元素的 Python 2 7 列表插入到具有数据类型列的 Postgresql 9 4 表中 jsonb 这是一些代码 import json anArray name Joe age 51 yob 1964 ge
  • 通过手写汇编调用本机代码

    我正在尝试从托管程序集中调用本机函数 我已经在预编译库上完成了此操作 一切都很顺利 目前我正在建立自己的图书馆 但我无法完成这项工作 本机 DLL 源代码如下 define DERM SIMD EXPORT declspec dllexpo
  • 春天。 @RequestBody 的映射字段与 @PathVariable

    现在我有这样的代码 RestController public class ChildController RequestMapping value parents parentId addChild method RequestMetho
  • 从选定的数据库中选择选项值

    我有一个小问题 我有一个 edit php 页面 该页面列出了可以编辑的产品信息 我运行一个查询 while rows mysql fetch assoc query echo
  • 如何使用 Cython 将 Python 3 编译为 C

    我正在尝试将 Python 3 脚本转换为 C 然后将该 C 文件编译为可执行文件 我有这个简单的 python 脚本 def greet name print Hello 0 format name if len name gt 0 el
  • 更改命名空间前缀 WCF 信封

    我想知道是否可以更改 WCF SOAP 请求的命名空间前缀 正如您在下面的示例中看到的 The Envelope 的命名空间为 http www w3 org 2005 08 addressing 前缀为 a 我想将其更改为 foo 我怎样
  • 如何将任务的已取消状态传播到继续任务

    我在我的应用程序中使用任务并行库 我有一个任务 我们称之为 DoSomething 可能会被取消 无论任务出现故障 取消还是成功完成 我都会向该任务附加一个延续来执行一些清理工作 在启动此任务的代码中 我想返回一个 Task 对象 其状态
  • SWIG C++ 到 Python:警告(362):运算符=被忽略

    我正在将 C 类导出到 Python 我注意到在编译过程中 SWIG 发出以下警告 Warning 362 operator ignored 我不确定为什么操作符超载 因为它在SWIG 文档 http www swig org Doc1 3
  • camera2 捕获的图片 - 从 YUV_420_888 转换为 NV21

    通过camera2 API 我们接收以下格式的图像对象YUV 420 888 然后我们使用以下函数转换为NV21 private static byte YUV 420 888toNV21 Image image byte nv21 Byt
  • Oracle中INSTR和LIKE有什么区别?

    有人可以告诉我两者之间的区别吗INSTR and LIKE在甲骨文中 Oracle10g中哪一个更快 这取决于数据和模式 如果你使用like a 那么 Oracle 可以使用 BTree 索引来查找匹配项 因为它可以以模式开头搜索 BTre
  • Angular CLI 无法创建新项目

    如何从 angular cli 创建新项目 Angular CLI 有问题 已经关门了 我认为仍然存在问题https github com angular angular cli issues 5543 event 1009616731 h
  • 故事板静态单元:dequeueReusableCellWithIdentifier 返回 nil

    使用故事板 静态单元格cellForRowAtIndexPath 线 UITableViewCell cell tableView dequeueReusableCellWithIdentifier CellIdentifier 总是返回n