需要访问tableView中的单元格:heightForRowAtIndexPath:

时间:2010-01-22 11:24:26

标签: iphone uitableview performance

我需要从tableView:heightForRowAtIndexPath:访问表格中的单元格 因为我想使用我在客户单元中进行高度计算的数据。 我找到获取单元格的唯一方法是调用tableView:cellForRowAtIndexPath:

问题在于,调用tableView:cellForRowAtIndexPath:实际上是在创建单元格,而不是对它们执行任何操作。当需要将相同的单元格用于绘图时,将再次创建它。因此,对于相同的索引,单元格被创建两次。

所以我想知道是否有更有效的方法。 谢谢你的帮助。

2 个答案:

答案 0 :(得分:6)

您无法访问此方法中的单元格,因为它尚不存在。在tableView:heightForRowAtIndexPath:创建单元格之前,会调用tableView:cellForRowAtIndexPath:

但它应该无关紧要,因为你不应该在单元格对象中保存模型信息。单元格只是视图,您应始终保留在模型中构建单元格所需的所有数据。

答案 1 :(得分:0)

通常,您可以根据数据和索引路径选择从tableView:cellForRowAtIndexPath:返回的单元格 因此,您可以使用相同的数据和索引路径来确定要在tableView:heightForRowAtIndexPath:中返回的单元格高度。