I know it's possible to reorder a single item/cell at a time when using the new `UITableViewDropDelegate` and `UITableViewDragDelegate` delegates but is it possible to support handling multiple.

For example in this screenshot I am holding a single item:
[![Dragging a single item/cell](https://i.stack.imgur.com/lWJ1q.png)](https://i.stack.imgur.com/lWJ1q.png)

And dropping the cell puts it in to place. 

However when I grab multiple cells I get the no entry sign and the cells wont reorder:
[![Multiple selection Drag and Drop with no entry sign](https://i.stack.imgur.com/4q4eM.png)](https://i.stack.imgur.com/4q4eM.png)

If I multiple items from another app it works fine, for example dragging multiple messages out of iMessage:
[![Multiple selection Drag and Drop from iMessage](https://i.stack.imgur.com/r4wtU.png)](https://i.stack.imgur.com/r4wtU.png)

Is it possible to do this when reordering a table view with only local items so that you can reorder quicker?

Here is my code:

`UITableViewDragDelegate`

```
extension DotViewController: UITableViewDragDelegate {
    func tableView(_ tableView: UITableView, itemsForBeginning session: UIDragSession, at indexPath: IndexPath) -> [UIDragItem] {
        return [getDragItem(forIndexPath: indexPath)]
    }

    func tableView(_ tableView: UITableView, itemsForAddingTo session: UIDragSession, at indexPath: IndexPath, point: CGPoint) -> [UIDragItem] {
        return [getDragItem(forIndexPath: indexPath)]
    }

    func getDragItem(forIndexPath indexPath: IndexPath) -> UIDragItem {
        // gets the item
    }
}

```

`UITableViewDropDelegate`

```
extension DotViewController: UITableViewDropDelegate {
    func tableView(_ tableView: UITableView, canHandle session: UIDropSession) -> Bool {
        return true
    }

    func tableView(_ tableView: UITableView, dropSessionDidUpdate session: UIDropSession, withDestinationIndexPath destinationIndexPath: IndexPath?) -> UITableViewDropProposal {
        return UITableViewDropProposal(operation: .move, intent: .insertAtDestinationIndexPath)
    }

    func tableView(_ tableView: UITableView, performDropWith coordinator: UITableViewDropCoordinator) {
        // Handles Drop
    }
}

```

`viewDidLoad`

```
override func viewDidLoad() {
    super.viewDidLoad()

    tableView.dataSource = self
    tableView.delegate = self
    tableView.dragDelegate = self
    tableView.dropDelegate = self

    tableView.dragInteractionEnabled = true
}

```