在tableview中重新排序单元格时获取索引路径?

时间:2013-01-29 13:51:13

标签: iphone ios objective-c uitableview

我想在tableview中更改单元格顺序

我正在使用以下代码

-(void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath  
{    
    [tableView moveRowAtIndexPath:path1 toIndexPath:path2];
}

这里path1用户现在选择的行的索引路径我想找到用户删除该单元格的行的索引路径,以便如何找到toIndexPath(path2)。

2 个答案:

答案 0 :(得分:3)

我认为您对此方法的目的感到困惑 - 这是UITableViewDataSource的回调函数,旨在通知数据模型表中的更改。来自文档:

  

告诉数据源将表视图中特定位置的行移动到另一个位置。

     

当用户按下fromRow中的重新排序控件时,UITableView对象将此消息发送到数据源。

这意味着您需要做的是确保您的模型(通常是数组)重新排列,以便与这些更改正确同步。

希望这能给你一个好的方向。

答案 1 :(得分:1)

你应该实现:

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
return YES;
}

&安培;也:

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
 //do whatever you want after the row has been moved
}

以下是拖拽N drop的示例:

https://github.com/coderDove/UITableView-Drag-n-Drop

希望这有助于!!!