我创建了一个 NSIndexPath 使用:
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
现在我想通过修改此路径通过 UITableView 建立索引,我找不到任何在 NSIndexPath 中设置值的 API 调用
每次分配一个新的 NSIndexPath 似乎是一种巨大的浪费,特别是因为我实际上是在使用它来进行不分配任何内存的调用(协议的补充)
我创建了一个 NSIndexPath 使用:
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0];
现在我想通过修改此路径通过 UITableView 建立索引,我找不到任何在 NSIndexPath 中设置值的 API 调用
每次分配一个新的 NSIndexPath 似乎是一种巨大的浪费,特别是因为我实际上是在使用它来进行不分配任何内存的调用(协议的补充)
我找不到任何在 NSIndexPath 中设置值的 API 调用。
因为没有 - NSIndexPath 是不可变的。
每次分配一个新的 NSIndexPath 似乎是一种巨大的浪费
这是。对此感到抱歉。@autoreleasepool { }
如果你关心这个,把它包装成一个。
NSIndexPath
是不可变的。每次只创建一个新的。然后,如果您遇到性能问题,请使用 Instruments 来确定创建索引路径是否是问题的一部分。
只有在您确认创建索引路径是一个问题之后,您才应该考虑创建一个子类,NSIndexPath
该子类具有自己的索引存储并提供变异方法。(UIKit 在内部使用 做类似的事情UIMutableIndexPath
,但该类不是公共的。)