难道还有比什么的这里提出以创建一个表视图细胞的NSIndexPath和独特NSUIntegerint之间的一对一的映射,以便创建用于在细胞中的微件的唯一tag属性值(一个UIProgressView)?

在链路穿过UIKit类别扩展NSIndexPathint之间转换增加了方法,但它们仅用于小于一定数目的行的工作。

当然,我可能无法运行到该限制,但我想知道如果有一个映射,有人想出了能够保证任何数量的行工作。

有帮助吗?

解决方案

没有,是不是真的有这是保证任何数量的行的工作方式。如果你有2段,每3个十亿行的表,那么就没有办法这6个十亿潜在NSIndexPaths映射到4个十亿32位NSIntegers。

(如果你正在建设一个64位的应用程序,同样的事情是真实的,但数字必须是另一个增加了4十亿倍的例子。)

他们使用的每节10,000行中你链接到例的限制;如果你非常担心你可能有比这更行,你可以使用一个更大的常量,即可以使用1,000,000的最大行数如果你知道你会不会有4000个多节。

请注意一个“真正的程序员”大概会使用65536作为恒定的,当然。

其他提示

如果我有必要做这个我就简单的部分路径转移到一个32位int的一半,和行部分转移到另一个。是的,这意味着你不能连续超过65535元(打破它我假设的无符号整数,因为行/部分永远不会是负的),但我会采取一种假设的限制远远大于我永远都需要,在一魔恒定任何一天。

加上它是便宜的计算上。

通常在这种情况下,虽然设置我的表视图控制器作为每个小区的代表,以及细胞可以回调与用于创建细胞的一些键值沿着任何变化控制器 - 毕竟,当你填充一个细胞,你知道如何到达到您的数据集拉出值。哎呀,你甚至可以简单地存储IndexPath进入细胞,它可以再打这一点。我不会用IndexPath方法或涉及压扁NSIndexPath到标签的前一个原因是,如果你开始改变行动态值可能成为NSndexPath之间不对齐你创建了一个包含电池和当前数据集的值。好多有某种关键的,将永远让你回到正确的数据在逻辑上。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top