2012-05-09 54 views
0

我有一个TableViewController,它在运行时以动态方式添加了5个单元格。 单元格的初始值(cell.detailtext.text)对于所有单元格都是一些默认值。现在,一旦viewDidLoad完成,甚至完成这个:(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath,现在我需要在运行时根据certail条件更新单元格值。我以后如何更新单元格值?如何使用默认单元格值加载视图后更新UITableView单元格(cell.detailTextLabel.text)的值

总之我需要实现以下算法中的功能在IOS

为的tableView

cell.detailtext.text = @ “新价值”

OR

的每个单元

func() {

cell =索引处的单元格(传递给函数)

cell.detailtext.text = @“新价值”(传递给函数)

}

回答

2

当过您更新数据源为UITableView的u需要调用reloadData

但是,更新整个表,并有两个问题:

1)如果你有一个大的表,你只是改变一个单一的值其大的开销

2)如果你是动画的更新(添加或移除),这可以用大量的数据

检查类参考的落后设备: http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableView_Class/Reference/Reference.html

另外,如果你是刚刚更新的单个细胞尝试调用

reloadRowsAtIndexPaths:withRowAnimation: 

这是更好的性能明智的,但有一些限制,例如,如果要添加大量它不能被应用的数据。

我可以进入更多的情况和细节,但这将超出范围。

0

你必须给数组值到您的实现代码如下步骤来修改数据。然后你必须使用

[的tableView reloadData]

在tableview中的更新数据的方法

0

修改,你需要使用这种方法

reloadRowsAtIndexPaths:withRowAnimation: 

此重新加载在tableview中的特定单元格中显示的值。

相关问题