スワイプジェスチャで行をある位置から別の位置に移動しようとしています。セルのいずれかを右にスワイプすると、スワイプしたセルはセルの一番下に移動するはずです。これはコードを記述したものであり、ある条件では正常に機能します。つまり、インデックス位置0でセルをスワイプすると、正しく処理されます。セルの下部、配列に「 A、B、C」があるとすると、テーブルには「A、B、C」と表示されます。次に、「A」を選択して、位置0にあるスワイプして下部に移動するとします。そして今、テーブルには正しいB、C、Aが表示されます。次に、位置1にある「C」を下にスワイプします。これで、テーブルにC、A、Bが表示されます。しかし実際には、B、A、Cが表示されているはずです。
以下は私のコードです
if (state == JTTableViewCellEditingStateRight)
{
NSIndexPath *selectedIndexPath = [tableView indexPathForSelectedRow];
[tableView moveRowAtIndexPath:selectedIndexPath toIndexPath:[NSIndexPath indexPathForRow:[self.rows count]-numberOfMoves inSection:0]];
[self moveRows];
}
- (void)moveRows
{
NSIndexPath *selectedIndexPath = [self.tableView indexPathForSelectedRow];
NSString *selectedString = [self.rows objectAtIndex:selectedIndexPath.row];
[self.rows removeObjectAtIndex:selectedIndexPath.row];
[self.rows insertObject:selectedString atIndex:[self.rows count]];
}
よろしくランジット