iOS重新排序UITableView

时间:2013-05-14 12:16:49

标签: ios uitableview nsarray

我有一个UITableView,它从sql db中读取数据。

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

enter image description here

从上到下拖动1

enter image description here

当我让它从5开始时它只会切换顶部和底部。

enter image description here 我使用以下

- (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

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];
}

编辑以匹配以下评论。