iphone - 在唯一的 NSIndexPath 和唯一的 NSUInteger(或 int)之间转换

标签 iphone uikit tags uiprogressview nsindexpath

还有比 proposed here 更好的方法吗?在 TableView 单元格的 NSIndexPath 之间创建一对一映射和一个独特的NSUIntegerint ,以创造独特的tag单元格中小部件的属性值(UIProgressView)?

该链接通过 UIKit 添加方法可在 NSIndexPath 之间转换的类别扩展和int ,但它们仅适用于少于一定数量的行。

当然,我可能不会遇到这个限制,但我想知道是否有人提出了一个映射,可以保证适用于任意数量的行。

最佳答案

不,确实没有一种方法可以保证适用于任意数量的行。如果您有一个包含 2 个部分的表,每个部分有 30 亿行,则无法将这 60 亿个潜在 NSIndexPaths 映射到 40 亿个 32 位 NSIntegers。

(如果您正在构建 64 位应用程序,同样的情况也是如此,但示例中的数字必须再大 40 亿倍。)

在您链接到的示例中,他们使用每个部分 10,000 行的限制;如果您非常担心可能有更多的行,则可以使用更大的常量,即,如果您知道不会有超过 4,000 个部分,则可以使用 1,000,000 作为最大行数。

请注意,当然,“真正的程序员”可能会使用 65536 作为常量。

关于iphone - 在唯一的 NSIndexPath 和唯一的 NSUInteger(或 int)之间转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1849669/

相关文章:

ios - 五彩的UISlider,有可能吗?

iPhone UISlider 有两个拇指/指示器?

graphql - 使用 GraphQL API 内容式获取所有标签

Python HTML 解析标签内的特定信息

iphone - NSDateFormatter 忽略 24 小时时间格式

iphone - 如何判断我的 View Controller 是否可见并接受事件?

ios - 制作主视图的 View subview 而不是它视觉上的 View 是一种好习惯吗?

javascript - 从 <a> 标记的下拉列表中自动选择值

iphone - iOS扑克牌

iphone - 无法设置 CCLabelTTF anchor