1

我有一个从 sql db 读取数据的 UITableView。

当我重新排序数据时,它只会更改顶部和底部的数据

在此处输入图像描述

从上到下拖动 1

在此处输入图像描述

当我让它在 5 时它只切换顶部和底部的。

在此处输入图像描述 我正在使用以下

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {

            [myStringsArray exchangeObjectAtIndex:fromIndexPath.row withObjectAtIndex:toIndexPath.row];

}

如何重新排序列表?所以它将是 2,3,4,5,1 而不是 5,2,3,4,1

4

1 回答 1

5

交换不是正确的方法,您应该使用它。

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath
 {
     id buffer = [myStringsArray objectAtIndex:fromIndexPath.row];
     [myStringsArray removeObjectAtIndex:fromIndexPath.row];  
     [myStringsArray insertObject:buffer atIndex:toIndexPath.row];
}

编辑以匹配下面的评论。

于 2013-05-14T12:25:22.957 回答