Using UICollectionView drag and drop with diffable data source

I'm getting the following log to the console when trying to use diffable data source and uicollection view drag and drop. I can drag cells within the same collection view, but when a cell comes near a "different" collection view (they're the same class but different instances so should handle the drop) I get the following:


2020-01-21 22:20:44.685944+0000 MyApp[1888:1802040] *** Assertion failure in -[UICollectionView _updateRowsAtIndexPaths:updateAction:updates:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKitCore_Sim/UIKit-3901.4.2/UICollectionView.m:6265

2020-01-21 22:20:50.466589+0000 MyApp[1888:1802249] XPC connection interrupted

2020-01-21 22:20:50.469098+0000 MyApp[1888:1802040] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UICollectionView must be updated via the UICollectionViewDiffableDataSource APIs when acting as the UICollectionView's dataSource: please do not call mutation APIs directly on UICollectionView. <UICollectionView: 0x7f950f022400; frame = (0 0; 1194 834); clipsToBounds = YES; autoresize = W+H; gestureRecognizers = <NSArray: 0x60000231dcb0>; layer = <CALayer: 0x600002deea00>; contentOffset: {-8, 0}; contentSize: {1344, 834}; adjustedContentInset: {0, 8, 0, 8}; layout: <UICollectionViewCompositionalLayout: 0x7f950e719990>; dataSource: <_TtGC5UIKit34UICollectionViewDiffableDataSourceOC9MyApp30DocumentViewControllerP10$104db5acc7SectionOS2_P10$104db5b5c4Item_: 0x600002fa97c0>>'

*** First throw call stack:

(

0 CoreFoundation 0x00007fff23c7127e __exceptionPreprocess + 350

1 libobjc.A.dylib 0x00007fff513fbb20 objc_exception_throw + 48

2 CoreFoundation 0x00007fff23c70ff8 +[NSException raise:format:arguments:] + 88

3 Foundation 0x00007fff256e9b51 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 191

4 UIKitCore 0x00007fff478823f9 -[UICollectionView _updateRowsAtIndexPaths:updateAction:updates:] + 720

5 UIKitCore 0x00007fff478dbf02 __84-[_UICollectionViewDragAndDropController _beginDragAndDropInsertingItemAtIndexPath:]_block_invoke + 124

6 UIKitCore 0x00007fff4789e6f2 -[UICollectionView _performShadowUpdates:] + 141

7 UIKitCore 0x00007fff478dbb3f -[_UICollectionViewDragAndDropController _beginDragAndDropInsertingItemAtIndexPath:] + 180

8 UIKitCore 0x00007fff478da20d -[_UICollectionViewDragAndDropController beginReorderingForItemAtIndexPath:cell:] + 281

9 UIKitCore 0x00007fff478994a7 -[UICollectionView _beginInteractiveMovementForItemAtIndexPath:] + 309

10 UIKitCore 0x00007fff478e7ac5 -[_UICollectionViewDragDestinationController _reorderingDisplayLinkDidTick] + 1651

11 QuartzCore 0x00007fff2afeb266 _ZN2CA7Display11DisplayLink14dispatch_itemsEyyy + 640

12 QuartzCore 0x00007fff2b0c3e03 _ZL22display_timer_callbackP12__CFMachPortPvlS1_ + 299

13 CoreFoundation 0x00007fff23b9503d __CFMachPortPerform + 157

14 CoreFoundation 0x00007fff23bd4bc9 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 41

15 CoreFoundation 0x00007fff23bd4228 __CFRunLoopDoSource1 + 472

16 CoreFoundation 0x00007fff23bced64 __CFRunLoopRun + 2516

17 CoreFoundation 0x00007fff23bce066 CFRunLoopRunSpecific + 438

18 GraphicsServices 0x00007fff384c0bb0 GSEventRunModal + 65

19 UIKitCore 0x00007fff48092d4d UIApplicationMain + 1621

20 MyApp 0x0000000104d92deb main + 75

21 libdyld.dylib 0x00007fff5227ec25 start + 1

22 ??? 0x0000000000000001 0x0 + 1

)

libc++abi.dylib: terminating with uncaught exception of type NSException

Using UICollectionView drag and drop with diffable data source
 
 
Q