UITableView moveRowAtIndexPath toIndexPath

Parameters of [UITableView moveRowAtIndexPath toIndexPath]
indexPath
An index path identifying the row to move.
newIndexPath
An index path identifying the row that is the destination of the row at indexPath. The existing row at that location slides up or down to an adjoining index position to make room for it.

Discussion of [UITableView moveRowAtIndexPath toIndexPath]
You can combine row-move operations with row-insertion and row-deletion operations within a beginUpdates–endUpdates block to have all changes occur together as a single animation.

Unlike the row-insertion and row-deletion methods, this method does not take an animation parameter. For rows that are moved, the moved row animates straight from the starting position to the ending position. Also unlike the other methods, this method allows only one row to be moved per call. If you want multiple rows moved, you can call this method repeatedly within a beginUpdates–endUpdates block.