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 に答える