iOS Drag & Drop delegate invocation order

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:
Code Block swift
func tableView(_ tableView: UITableView, performDropWith coordinator: UITableViewDropCoordinator)

and
Code Block swift
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.


iOS Drag & Drop delegate invocation order
 
 
Q