2

我以为我自己弄清楚了如何做这个问题,但它不起作用。我使用的代码:

-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath
{
     //timedText = a NSString

    [timed replaceObjectAtIndex:1 withObject:timedText];
    [SpelerTable reloadData];
}

有人可以告诉我我做错了什么吗?另外,我不想使用“replaceObjectAtIndex:1”,而是使用选定的单元格。

提前致谢。

4

4 回答 4

1

为什么要索引1而不是indexPath.row?另外,您不需要重新加载整个表格;只是改变的行:

[timed replaceObjectAtIndex:indexPath.row withObject:timedText];
[spelerTable reloadRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
                   withRowAnimation:UITableViewAnimationAutomatic];
于 2012-08-24T08:15:00.857 回答
0
    [timed replaceObjectAtIndex: indexPath.row withObject:timedText];
于 2012-08-24T08:15:17.180 回答
0

要使用单元格:

UITableViewCell *cell = [self tableView:self.tableView cellForRowAtIndexPath:indexPath];
于 2012-08-24T08:18:10.747 回答
0

试试这个代码

-(void) tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath
{
     //timedText = a NSString

    [timed replaceObjectAtIndex:indexpath.row withObject:timedText];
    [SpelerTable reloadData];
}

如果您的其他代码中的所有内容都正确,那么它将起作用。

于 2012-08-24T09:13:56.660 回答