UITableViewCell单元移动

//设置移动效果
-(void)setEditing:(BOOL)editing animated:(BOOL)animated
{
    
    [super setEditing:editing animated:animated];
    [self.tableView setEditing:editing animated:animated];
    
}
-(BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath
{
    return YES;
}

-(void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath
{
    NSInteger fromRow = [sourceIndexPath row];
    //    获取移动某处的位置
    NSInteger toRow = [destinationIndexPath row];
    //    从数组中读取需要移动行的数据
    id object = [self.dataArray objectAtIndex:fromRow];
    //    在数组中移动需要移动的行的数据
    [self.dataArray removeObjectAtIndex:fromRow];
    //    把需要移动的单元格数据在数组中,移动到想要移动的数据前面
    [self.dataArray insertObject:object atIndex:toRow];
    
}
原文地址:https://www.cnblogs.com/cocoajin/p/3099038.html