title: Find out how drag ended when implementing UICollectionViewDragDelegate
body: <p>I'm implementing drag and drop. Most of the drag sources and destinations in the app are custom views, so I just use <code>UIDragInteraction</code> and <code>UIDropInteraction</code>. However, one drag source is a collection view, so I use <code>UICollectionView</code>'s own dragging support via <code>UICollectionViewDragDelegate</code>.</p>
  <p>The issue is that when the drag is done, I need to know if it finished successfully or was cancelled/aborted. <code>UIDragInteractionDelegate</code> has a <code>dragInteraction(_:, session:, didEndWith:)</code> method where the last argument is a UIDropOperation (e.g. .copy , .cancel, etc.), and in most source, I can use this to do the appropriate thing depending on whether the drop was successful.</p>
  <p>By contrast, <code>UICollectionViewDragDelegate</code>'s corresponding <code>collectionView(_:, dragSessionDidEnd:)</code> doesn't include the drop operation. Am I missing something or is there no way to know how the drag ended if you're using <code>UICollectionViewDragDelegate</code> instead of implementing <code>UIDragInteractionDelegate</code> directly? I'd really rather not duplicate the implementation work <code>UICollectionView</code> already has to make dragging easy just for this one little thing.</p>