我有一个UITableView,它从sql db中读取数据。
当我重新排序数据时,它只会更改顶部和底部的数据
从上到下拖动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
答案 0 :(得分: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];
}
编辑以匹配以下评论。