我有一个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”(传递给函数)
}
答案 0 :(得分:2)
当您更新UITableView的dataSource时,您需要调用reloadData
但是这会更新整个表格并有两个问题:
1)如果您有一个大型表,而您只需更改一个值就会产生很大的开销
2)如果您要为自己的更新设置动画(添加或删除),这可能会导致您的设备数据量过大
或者,如果您只是更新单个单元格,请尝试调用
reloadRowsAtIndexPaths:withRowAnimation:
性能要好得多,但有一些限制,例如,如果要添加大量数据,则无法应用。
我可以进入更多的情况和细节,但这将超出范围。
答案 1 :(得分:0)
您必须通过向tableview提供数组值来修改数据。然后你必须使用
[tableView reloadData]
更新表格视图中的数据
答案 2 :(得分:0)
使用此方法修改需要显示的值
reloadRowsAtIndexPaths:withRowAnimation:
这将重新加载tableview中的特定单元格。