通知时更新表格单元格

时间:2012-08-02 17:04:03

标签: iphone objective-c ios5

如何在收到特定通知时更新tabelview单元格,而无需重新加载表格数据。通知告诉我需要更新的单元格的id。所以我想迭代所有表格单元格并仅更新相关的表格单元格而不重新加载它。我怎么能这样做

2 个答案:

答案 0 :(得分:0)

使用[tableView visibleCells]获取显示的所有单元格的列表。遍历此数组以查看是否显示了您需要更新的单元格,然后执行您需要的任何操作。 (这种方法就是你重复使用单元格。)

答案 1 :(得分:0)

你可以使用内置的reloadRowsAtIndexPaths:withRowAnimation:而不是试图篡改框架的功能。这将有效地仅重新加载您要求的单元格而不是整个表格甚至整个部分。

  

使用特定的动画效果重新加载指定的行。

     

重新加载行会导致表视图向其数据源询问该行的新单元格。该表为其中的新单元设置了动画   激活旧排。如果要提醒,请调用此方法   用户,单元格的值正在发生变化。但是,如果通知了   用户并不重要 - 也就是说,您只想更改其值   正在显示一个单元格 - 您可以获取特定行的单元格并进行设置   它的新价值。

     

在beginUpdates和endUpdates方法定义的动画块中调用此方法时,其行为类似于   deleteRowsAtIndexPaths:withRowAnimation :. UITableView的索引   传递给方法的是在表视图的状态中指定的   在任何更新之前。无论顺序如何,都会发生这种情况   动画中的插入,删除和重新加载方法调用   块。

     

适用于iOS 3.0及更高版本。