获取所有tableview单元格,甚至是不可见的单元格

时间:2012-12-20 18:40:39

标签: objective-c uitableview

我需要遍历不同部分的tableview单元格来计算每个部分中的内容;但是,当我尝试这样做时:

CustomCell * c = (CustomCell *)[self.table cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:i]

如果“i”部分不可见,我无法获取内容。

我必须说我想在每个单元格中计算的内容在调用calculate方法之前会有所不同,所以我无法填充tableview然后计算。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您不应该根据UITableViewCell个对象的内容执行计算,因为它们基本上属于 presentation 层;表示层中不应进行任何计算,只能隐藏和显示内容。

对于计算,您应该直接转到UITableViewDataSource获取其数据的图层(可能是您的模型类)并在那里进行计算。更好的是,将计算移动到模型层,并提出一种按需获取它的方法。

如果您要修改其他人编写的现有代码,请首先检查tableView:cellForRowAtIndexPath:中的UITableViewDataSource方法,以查看其获取数据的位置。据推测,无论是否在屏幕上显示,该地点都有可用的所有数据。