-1

CellForRowAtIndexPath で「cell.text」を使用できますが、didSelectRowAtIndexPath で使用しようとすると、宣言されていない「セル」と表示されます。

再度宣言する必要がありますか、またはこの問題を解決するにはどうすればよいですか?

4

2 に答える 2

2

コールバックでは、参照-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath;がありませんcell- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath;次のように、ルーチンで取得できます。

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    UITableViewCell* cell = [tableView cellForRowAtIndexPath:indexPath];
    //whatever you want to do with the cell
}

とにかく、以前にセルを作成したので、indexPath. そんな感じ:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    NSInteger row = indexPath.row;
    SomeDataObject* object = [someDataArray objectAtIndex:row];
    //whatever you want to do with the data
}
于 2012-08-20T08:04:05.573 に答える
0

のセルに実際にアクセスしようとする必要はないはずdidSelectRowAtIndexPathです。ほとんどの場合、テーブル データの入力に使用されるデータが に保存されているため、たとえば indexPath 変数arrayを使用してそこからアクセスできるはずです(セットアップによっては、あまりにも考慮する必要がある場合があります)。array[indexPath row][indexPath section]

于 2012-08-20T08:03:36.207 に答える