iOS 6/7 中“没有重用表格单元格的索引路径”消息的含义是什么?

2023-12-14

自从开始使用 iOS 6(以及 iOS 7)编译我的应用程序以来,我开始看到此消息。我知道 UITableViews 管理单元格的方式在 iOS 6 中是不同的,但我不需要修改我的代码来让它继续工作。但我担心此消息可能会指出一些我尚未看到的潜在问题。 任何人都可以阐明吗?


从 iOS 7 beta 5 开始,包括在 iOS 7 GM/Release 版本中,我开始在日志中出现此错误,而在 iOS 6 或更早的 iOS 7 beta 中,我的应用程序中从未出现过这种情况。经过多次尝试,我找到了原因:

我正在使用UITableViewCell我的节标题视图的对象并将它们返回tableView:viewForHeaderInSection:。这似乎是常见的做法,特别是自 iOS 5 以来,使用 Interface Builder 将节标题视图设计为 StoryBoard 中的原型表视图单元变得很容易。

当我将应用程序更改为仅使用常规应用程序时UIView我的节标题视图的子类,错误消失了,更重要的是,我的表视图停止随机删除节标题!

看来(自 iOS 7 beta 5 起)UITableView在内部维护所有的映射UITableViewCell其视图层次结构中的对象及其各自的索引路径。由于节标题(或页脚的表视图标题)没有索引路径,如果您使用UITableViewCell对于这些视图的对象,表视图在找到一个对象时会感到困惑UITableViewCell它没有索引路径,导致“没有重用表单元格的索引路径”错误,如果不幸的话,会在表视图中显示故障:

UPDATE:如果您可以访问 Apple 开发论坛,这里是关于它的主题(我开始的):https://devforums.apple.com/message/882042#882042

正如该线程中所建议的,如果您不想重构太多,您可以创建一个UIView包裹在你的周围UITableViewCell并将其作为节标题视图返回。

UIView *view = [[UIView alloc] initWithFrame:[cell frame]];
[view addSubview:cell];

return view;

但请注意,这个“包装器”UIView方法不能很好地与自动布局和设备旋转配合使用,所以我建议您使用UIView页眉和页脚单元格的子类,而不是UITableViewCell子类,如答案的主要部分所述。

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

iOS 6/7 中“没有重用表格单元格的索引路径”消息的含义是什么? 的相关文章

  • 如何自动缩放mapView以显示叠加层

    我可以在 mapView 上绘制多边形 但是我需要找到多边形并手动缩放它 有没有办法自动执行此过程 例如调整中心多边形 我浏览过互联网并阅读了一些相关文章 其中大多数都是基于折线和点的 任何形式的帮助将不胜感激 因为我正在寻找解决方案一段时
  • 防止UIScrollView的UIPanGestureRecognizer遮挡UIScreenEdgePanGestureRecognizer

    我有一个UIScrollView它填满了我应用程序的一页上的屏幕 但我希望允许用户从屏幕边缘平移以显示其后面的视图 问题是 UIScrollView 窃取了我的触摸UIScreenEdgePanGestureRecognizer在屏幕边缘
  • 是什么导致了这个 iPhone 崩溃日志?

    我有点卡住了 需要解决这个问题 因为我的一个应用程序出现了随机崩溃 而这些崩溃并不总是能够重现 这是崩溃日志之一 Incident Identifier 59865612 9F00 44EA 9474 2BF607AD662E CrashR
  • 用 UIView 像翻书一样翻页?

    我正在尝试在之间切换UIViews让它看起来就像你正在翻书的一页 The UIViewAnimationTransitionCurlUp如果我能让它向左或向右卷曲 那就非常接近了 这可能吗 我尝试过使用CATRansition但没有一种动画
  • 自动布局、UIDynamics 和动画

    我对自动布局还很陌生 并且对如何为视图设置动画感到困惑 我读了很多 我知道你必须遵守限制 编辑它 然后包装layoutIfNeeded in an UIView动画块 但当真正要做的时候 我却有点失落 我很乐意有人能向我解释如何做这个动画
  • iOS 11 安全区域布局指南向后兼容性

    启用安全区域布局指南是否与 iOS 11 以下版本兼容 我设法使用新的安全区域布局指南并保持与 iOS 9 和 iOS 10 的向后兼容性 编辑 正如 NickEntin 的评论所指出的 此实现将假定存在状态栏 但在 iPhone X 的横
  • ITMS-90535 无法使用最新的 Google Signin SDK 发布 iOS 应用程序

    我正在使用 xcode 7 GM 种子并通过 cocoapods 安装了最新的 Google Signin SDKpod Google SignIn 当我尝试将我的应用程序发布到苹果应用程序商店时 我收到附加错误 Help 以下是 Goog
  • UICollectionView 未出现

    我正在尝试设置UICollectionView 以编程方式在我的视图控制器中扩展UIViewController 由于某种原因 我的收藏视图根本没有显示 以下是我所拥有的 为什么没有出现 我将它连接到委托和数据源并将其添加为子视图self
  • 如何请求用户开启定位服务

    我需要我的应用程序来访问用户的当前位置 它在应用程序开始时检查用户是否已设置 如果没有 我需要应用程序显示提示以使其使用位置服务 就像警报视图一样 点击按钮 它应该会带您进入 iPhone 上的位置服务屏幕 您可以通过以下代码检查 loca
  • iOS UIButton 带有圆角和背景 bug

    我发现圆形 UIButton 存在一个奇怪的问题 这是我创建此按钮的代码块 let roundedButton UIButton type System roundedButton frame CGRectMake 100 100 100
  • 使用 Google place API 从 lat long 获取附近的地点

    我正在使用 google place API 即 https maps googleapis com maps api place search json location 33 7167 73 0667 radius 500 type f
  • 线程 1:信号 SIGABRT - AppDelegate.h

    main m Journey Created by Julian Buscema on 2014 07 13 Copyright c 2014 Julian Buscema All rights reserved import
  • 应用程序传输安全已禁用,但仍然出现 SSL 握手错误

    我在通过 HTTPS SSL 连接到 API 时遇到问题 我已经使用下面的字典完全禁用了应用程序传输安全性 ATS 尽管 SSL 证书通过了 NSCURL 的所有测试
  • 对使用phonegap和钛的质疑[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 最近我听说了 PhoneGap 和 Titanium 移动网络应用程序的开发 我分析了这两个 Web 应用程序 并了解了如何使用它们以
  • 我应该在哪个方法中设置 UITextField 的委托?

    在 viewDidLoad 或 init 方法中设置 UITextField 的委托是一个好习惯吗 我尝试在 init 方法中将委托设置为 self 但它没有调用相应的委托方法 当我将代码移动到 viewDidLoad 中时 它注册为将 s
  • NSPredicate 的 onFormat 字符串

    我想用 id 键对数据进行排序 我如何理解格式字符串的用途NSPredicate格式 我有一个100号的帖子 我的代码 let objectIDs posts map 0 id let predicate NSPredicate forma
  • 显示键盘时如何在 TextView 下方添加更多填充

    当我在 ScrollView 中有 TextField 并点击它时 键盘会按预期显示 但似乎 TextField 已向上移动到足以显示输入区域 但我希望移动到足够的位置 以便整体可见 否则它看起来像是被剪裁了的 我找不到改变这种行为的方法
  • 在 UIMenuItem 上设置accessibilityLabel

    我正在尝试设置accessibilityLabel of a UIMenuItem而且似乎没有效果 无论如何 VoiceOver 只是读取项目的标题 let foo UIMenuItem title foo action selector
  • ActionScript、NetStream.Play.Failed iOS AIR 移动设备

    我正在尝试以类似于 Tiberiu Ionu Stan http stackoverflow com questions 2036107 aac mp4 not working in actionscript 3s netstream 的方
  • KeyboardAvoidingView - 隐藏键盘时重置高度

    我正在使用 React NativeKeyboardAvoidingView设置我的高度View当显示键盘时 但是当我关闭应用程序中的键盘时 视图的高度不会变回原来的值

随机推荐

  • JavaScript 中的 numpy.random.choice?

    Numpy random choice 是一个很好的简单函数 它允许您根据某种概率分布对整数数组进行采样 gt gt gt np random choice 5 3 p 0 1 0 0 3 0 6 0 array 3 3 0 javascr
  • 如何在Spring Security中使用具有authentication-success-handler-ref等效功能的自定义过滤器

    我想将一些带有登录详细信息的参数传递给 spring security 例如某些项目 ID 然后我想根据用户类型重定向到页面 为此我正在使用自定义过滤器发送附加参数 我正在使用重定向身份验证成功处理程序参考 我的问题是 我在使用时遇到位置冲
  • 参数和局部变量有什么区别?

    为看起来一定像的事情道歉very愚蠢的问题 我目前正在通过 codecadamy 工作 这让我很失望 var greeting function name name sausage console log name greeting nam
  • 模式验证器对于 IP 地址正则表达式无效

    我正在使用以下正则表达式来验证IP 地址模式 b 25 0 5 2 0 4 0 9 01 0 9 0 9 3 25 0 5 2 0 4 0 9 01 0 9 0 9 b 我也在a中检查过正则表达式测试器而且效果很好 但是 当我在模式验证器中
  • 在 yii2 中获取日期时间时时间错误

    当我在 yii2 项目中获取日期时间时遇到问题 当我得到日期时间时 日期是正确的 但时间是错误的 我执行我的代码 结果是 2016 05 02 12 30 28 而我笔记本电脑上的时间是 19 30 有什么问题 我利用在印度尼西亚的时间 这
  • Java程序拥有16GB虚拟内存并且不断增长:这是一个问题吗?

    在 Mac OSX 5 8 上 我有一个 Java 程序 它以 100 CPU 运行很长一段时间 几天或更长时间 它是一个分析并发程序的模型检查器 所以这或多或少是预期的 然而 它的虚拟内存大小 如 OSX 的活动监视器中所示 在一天左右后
  • 使用 WCF 中的架构进行消息验证

    我想要的是用很少的属性 例如最小 最大 字符串长度等 来装饰我的数据契约 并获取为我的 SOAP 非 net 客户端生成的 XML 模式 经过在互联网上的一些研究 我发现了以下文章 http wcfsecurity codeplex com
  • 如何将nodeJS项目托管到firebase?

    我正在为该项目使用 Node Express 和更多其他依赖项 我想知道如何在 firebase 上托管这个项目 我的项目将有控制器 视图和任何其他文件夹以使项目成为可能 它已经有像 pug handlebars 这样的视图引擎 在线教程仅
  • C++ 中具有向量属性的 MPI 发送结构

    我想发送一个具有向量属性的结构 typedef struct int id vector
  • ggplot2 代码运行并更新绘图,但实际上没有显示数据

    我正在尝试使用生成图表ggplot2虽然我能够生成我想要使用的图表plot 当我运行下面的 ggplot 代码时 它会显示正确的轴 但没有数据或比例 数据看起来像这样 data lt data frame area c alpha alph
  • 由于 PreviewMouseLeftButtonDown,数据网格内的按钮未被触发

    我正在开发 WPF 应用程序 根据要求 我想在数据网格中显示项目列表 每行还有一个 删除 按钮 使用这个按钮我们可以删除相应的项目 我还想要网格的拖放功能 即用户可以向上 向下移动行 我在用 PreviewMouseLeftButtonDo
  • Codeigniter,空白页,没有错误[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 public function newreg username this gt inpu
  • headless eclipse 的 config.ini 设置

    From 这个帖子 当我尝试执行无头 Eclipse 代码时出现此错误消息 java lang RuntimeException Could not find framework at org eclipse equinox launche
  • 是否有一种机制可以禁用插入表?

    我有一个表 它的存在纯粹是为了充当某些逻辑的数组 该表应该只有一行 否则我的逻辑将失败 是否有任何 DDL 命令可以禁用插入表 截至目前 我已经插入了逻辑所需的 一行 数据 现在计划创建一个插入后触发器来删除新输入的记录 二 但是我注意到有
  • 使用 Pyinstaller 编译 Gekko

    我想知道是否可能 或者是否有人有任何经验 用 pyinstaller 将 gekko 优化包编译成 exe 作为测试用例 我使用来自 gekko 优化网站的 HS 71 Benchmark 用例 https gekko readthedoc
  • 使用 ncdf4::ncvar_get 时如何指定维度顺序?

    继上一个问题之后 从 netCDF 更快地读取时间序列 我重新排列了我的 netCDF 文件以提供快速的时间序列读取 github上的脚本最终会被清理 简而言之 为了使阅读速度更快 我重新排列了尺寸lat lon time to time
  • jquery remove 从另一个元素中删除

    根据here jquery删除函数应该像这样工作 div remove selector 我正在尝试在这个例子中 HTML div class wrapper p class unwanted This should be removed
  • 从一个表中选择并插入到另外两个表中

    我是 SQL 初学者 对 Transact SQL 不太了解 我意识到这是一个新手问题 但我正在寻找一个简单的解决方案 我有一个包含一些列的表 locationCode CustomerCode 主表 ItemCode locationCo
  • 如何使用来自服务或广播接收器的意图?

    我需要能够在我的活动关闭时处理 捕获意图 所以我正在寻找服务或广播接收器 是否有可能 接收 服务本身的意图 我尝试搜索 但找不到任何有用的东西 对于 BroadcastReceiver 我不太确定它在 Activity 之外是如何工作的 这
  • iOS 6/7 中“没有重用表格单元格的索引路径”消息的含义是什么?

    自从开始使用 iOS 6 以及 iOS 7 编译我的应用程序以来 我开始看到此消息 我知道 UITableViews 管理单元格的方式在 iOS 6 中是不同的 但我不需要修改我的代码来让它继续工作 但我担心此消息可能会指出一些我尚未看到的