We have two UITableView's where we drag a cell from one table to the other or within the same table. Both tables implement UITableViewDragDelegate and UITableViewDropDelegate.
the interesting functions are:
func tableView(_ tableView: UITableView, performDropWith coordinator: UITableViewDropCoordinator)
and
func tableView(_ tableView: UITableView, dragSessionDidEnd session: UIDragSession)
Usually if we drag a cell within the same table and after dropping the cell, the performDrop-delegate is invoked before the dragSessionDidEnd.
Occasionally, those two delegate functions are invoked in opposite order. First dragSessionDidEnd and then performDrom. Why?
And to make it even more strange: This behavior only appears on an iPad Pro 10.5-inch. All other iPads we tested never had the wrong delegate invocation order.
We experience that behavior on iOS 12.4 to iPadOS 13.6.