iPhone - 在navigationController中更改UITableViewCell的内容

时间:2011-07-29 15:04:31

标签: iphone uitableview

我有一个UITableView,里面有一些有人名的单元格。当用户单击一个单元格时,导航控制器会将新视图推送到显示该人员详细信息的堆栈。用户完成并单击按钮返回上一个视图后,将再次显示该表视图。问题是我想编辑单元格文本(或者只是以某种方式标记单元格)以显示用户已单击该单元格。在我的cellForRowAtIndexPath:方法中,我设置了应该在用户单击该单元格后更改单元格文本的代码。我设置了断点并且正在输入cellForRowAtIndexPath:当弹出详细视图并再次显示tableview时。它正在进入cellForRowAtIndexPath中的代码段:它应该更改文本,但是当它出现在屏幕上时,文本没有被更改。有没有人对于发生了什么有任何想法?感谢。

编辑:我明白了。我只需要调用[tableView reloadData];而不是调用cellForRowAtIndexPath方法。不确定为什么它的工作方式不同,但它修复了它。

2 个答案:

答案 0 :(得分:0)

我想我会帮你的。你不需要给我答案。

cellForRowAtIndexPath:

当从队列刷新单元格或需要创建单元格时,在框架内调用该方法。你不应该称这种方法。

[tableView reloadData];

该方法基本上是对UITableView中显示的所有可见单元格的刷新。如果您更改数据源中的信息或需要(强制)更新单元格的外观,则应该调用此方法。

答案 1 :(得分:0)

好的你重新加载表并更改了文本,但是如果你只是想告诉NAd不想改变文本你可以使用elow Given Text ....

[cell setAccessoryType:UITableViewCellAccessoryCheckmark];

它将检查您点击/访问的标记Particuler单元格......

希望你喜欢这个解决方案.....