2013-02-07 22 views
0

我有一个UITableView,我通过UIButton添加单元格。在创建时,单元从2个数组中获取其textLabel & detailTextLabel。但是,如果表中已经存在具有相同标题的项目,我想更改现有单元格的detailTextLabel.text而不添加新的单元格。UITableView更改已创建的单元格上的detailText

那么有没有办法更新某个UITableViewCell已经创建的某些值的detailText?

也许我应该删除旧的并添加新的?

+1

您可以保留对希望修改的单元格的引用(然后在需要时修改它),就像任何其他控制,或者你可以recrea用更新的数据提取你的细胞。 – Jeremy

+0

很难说出你在做什么 - 你通常不会在表中添加“单元格”,将数据添加到填充表的数组中,并且自动获得更多行。我想你需要显示你的代码,所以我们可以看到你是如何填充你的表。 – rdelmar

+1

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:kCellID]; –

回答

0

创建一个UITableView单元格应该就是创建数据而不是数据总量,因为我们使用单元格,我们应该始终假定单元格数据已过时并需要刷新,因此您应该始终有一种方法来重置如果您有自定义单元格,则应该公开您正在使用的控件并在cellForRowAtIndexPath中相应地设置它们的值,如果您需要更改单元格,则应更改数据源值并通过- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation重新加载单元格,或者用cellForRowAtIndexPath抓住单元格的位置,并根据需要更改值...我的观点是不需要重新创建单元格。

相关问题