ストーリーボードにプロトタイプ セルを含むテーブルビューを設定しました。スワイプされたセルのサブビューを編集したいので、デリゲート メソッド tableView:willBeginEditingRowAtIndexPath: を実装しました。このメソッド内から編集中の現在のセルを取得するにはどうすればよいですか? tableView:cellForRowAtIndexPath: を使用すると、必要なセルではなく、新しいセルを取得します。これは、dequeueReusableCellWithIdentifier:forIndexPath: への後続の呼び出しが、同じ識別子と indexPath に対して異なるオブジェクトを返すように見えるためです。
次のコードを使用すると、この動作を簡単に再現できます。
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
NSLog(@"cell = %@", cell);
cell = [tableView dequeueReusableCellWithIdentifier:@"Cell" forIndexPath:indexPath];
NSLog(@"different cell = %@", cell);
}
このメソッドを使用できない場合、特定の indexPath に配置されている現在のセルを取得するにはどうすればよいでしょうか? iOS6を使用しています。