我有一个包含3个单元格的tableView。
我想在tableView加载后更改该单元格的.detailTextLabel。
我怎么能这样做?
我是三合一的:UITableViewCell * firstCell = [tableView cellForRowAtIndexPath:0];
firstCell.detailTextLabel.text = @“ABC”;
[tableView reloadData];
但这并非无所作为。有什么问题?
答案 0 :(得分:1)
而不是
UITableViewCell *firstCell = [tableView cellForRowAtIndexPath:0];
使用
UITableViewCell *firstCell = [tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
答案 1 :(得分:0)
试试这个:
UITableViewCell *firstCell = [tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
firstCell.detailTextLabel.text = @"ABC";
无需调用reloadData。
答案 2 :(得分:0)
当你说
时[tableView reloadData];
那个时候你的: -
(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
方法将被调用三次,因为您的行中有3个单元格,这将再次覆盖您的firstCell.detailTextLabel.text,其中包含您必须通过数组提供的原始文本...
所以如果您正在使用数组..那么您需要更改该数组中的对象以获取所需的索引。
实现这个:
[array replaceObjectAtIndex:0 withObject:@“Change”];
[tableViewCategory reloadData];
希望这对你有用......