如何使用默认单元格值加载视图后更新UITableView单元格的值(cell.detailTextLabel.text)

时间:2012-05-09 04:27:14

标签: ios uitableview

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

简而言之,我需要在IOS的一个函数中实现以下算法

表示tableView的每个单元格

cell.detailtext.text = @“new Value”

OR

FUNC() {

cell = index at index(传递给函数)

cell.detailtext.text = @“new Value”(传递给函数)

}

3 个答案:

答案 0 :(得分:2)

当您更新UITableView的dataSource时,您需要调用reloadData

但是这会更新整个表格并有两个问题:

1)如果您有一个大型表,而您只需更改一个值就会产生很大的开销

2)如果您要为自己的更新设置动画(添加或删除),这可能会导致您的设备数据量过大

检查班级参考: http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableView_Class/Reference/Reference.html

或者,如果您只是更新单个单元格,请尝试调用

reloadRowsAtIndexPaths:withRowAnimation:

性能要好得多,但有一些限制,例如,如果要添加大量数据,则无法应用。

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

答案 1 :(得分:0)

您必须通过向tableview提供数组值来修改数据。然后你必须使用

[tableView reloadData]

更新表格视图中的数据

答案 2 :(得分:0)

使用此方法修改需要显示的值

reloadRowsAtIndexPaths:withRowAnimation:

这将重新加载tableview中的特定单元格。