禁用单元重用的开销
Posted
技术标签:
【中文标题】禁用单元重用的开销【英文标题】:Overhead of Disabling Cell Reuse 【发布时间】:2011-07-08 21:31:59 【问题描述】:所以我有 3 个部分,每个部分有 3 行(总共 9 行),每一行都是 textField
。
我在使用 tableView 时遇到了一些问题,当我上下滚动时,单元格与值混在一起,这很烦人,整个 tableView 变得一团糟。虽然可能是我的编程缺乏逻辑导致了这种情况,但我决定立即解决这个问题。
所以,我现在禁用dequeueReusableCellWithIdentifier
,现在一切似乎都好了。从 Apple 文档中,我可以看到可重用性可以为大型 tableViews 提供良好的性能。我现在阻止了细胞重复使用。
我只有 3 个部分,每个部分 3 行。
我们这里所说的性能下降幅度究竟是多少?
这将如何影响我的整个应用程序,请记住我在该视图中有一个小的 tableView?
在 App-Store 中批准此应用程序是否有任何问题?附言我仅将这种方法用于一种视图。所有其他视图都有可重用的单元格。
【问题讨论】:
【参考方案1】:很难说这么小的桌子我觉得不值得担心。
这不会影响您的应用获得批准。
最好用导致您问题的代码提出另一个问题,然后人们可以帮助您解决它,您可以从中学习,这最终将比回避问题更能帮助您。
【讨论】:
为了补充保罗的答案,您真正的问题很可能与不为每个单元格或类似内容重置(设置为零)您的文本视图有关。但请随时使用您的代码发布问题。【参考方案2】:如此少量的单元格您不会注意到差异。
如此少量的单元格您不会注意到差异。
不,我真的认为 Apple 不会在意你是否重复使用单元格。
【讨论】:
【参考方案3】:影响是,如果单元格滚动到屏幕外,您可能会遇到 UI 卡顿,因为它每次都会创建新单元格,因此滚动会感觉不太流畅。
除此之外,不会有其他问题。
【讨论】:
以上是关于禁用单元重用的开销的主要内容,如果未能解决你的问题,请参考以下文章
如何使 UIPageViewController 像 tableview 重用单元一样重用控制器?
重用 UICollectionView 中的单元格时,会短暂显示重用 UICollectionViewCell 的旧内容