【问题标题】:maximum number of rows that can be shown on tableview可以在 tableview 上显示的最大行数
【发布时间】:2010-06-25 11:12:43
【问题描述】:

我想知道 UItableView 中可以显示的最大行数限制。提前致谢。

【问题讨论】:

  • 你有理由相信存在限制吗?
  • @Eriko:我希望插入大约 3k 行(仅文本,带索引)。所以想知道可能出现的并发症。
  • 我已经把它总结在一个答案中。

标签: iphone uitableview iphone-sdk-3.1


【解决方案1】:

这篇Cocoa with Love blog 帖子内容丰富 - 它着眼于包含数千个单元格的表格视图的性能。

问题是它是否有一些内部硬限制 - 它似乎足以满足大多数需求 - 上面的帖子总结道:

iPhone 可以处理 100,000 行的表格,而且它可以继续流畅地滚动,就像只有 100 行一样。

【讨论】:

  • 文章中还提到,过去 800,000 行高度为 44,用于单元格定位的单精度浮点(32 位平台)失败(== 失去精度并且您得到部分重叠的单元格)。
【解决方案2】:

似乎没有最大值。无论如何,您都不会主动插入,您只需实现代表方法来为单元格提供服务 - 如果正确完成,它们不会一次全部加载。

刚刚用一千个自定义单元进行了尝试,它没有问题。但是即使有索引也有 3k 滚动,我会考虑将它们放入导航层次结构中(但这在很大程度上取决于您的使用)。

还有一件事:确保在绘制单元格时高效,即实现 drawRect:而不是用标签、视图等使单元格混乱,这将使滚动更快。

【讨论】:

  • 'NSInternalInconsistencyException',原因:'未能为第 0 节中的 9223372036854775807 行分配数据存储。考虑使用更少的行'我很好奇并遇到了这个。
【解决方案3】:

您最终会受到所有方法(例如 numberOfRowsInSectiin)都采用整数参数这一事实的限制,但希望您不需要接近这些限制 :)

【讨论】:

    【解决方案4】:

    numberofRawInSection委托方法中,我们通常返回Int类型数组的计数,因此tableview部分可以显示的最大行数=Int.max

    所以说容量“C”

    C = (maximum number of section) X (maximum number of item in section)

    【讨论】:

      猜你喜欢
      • 2014-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-16
      相关资源
      最近更新 更多