ra1028 / RAReorderableLayout

A UICollectionView layout whitch can move item with drag and drop.
MIT License
867 stars 140 forks source link

collectionView?.cellForItem is nil and incorrectly unwrapped #53

Open fiteroc opened 7 years ago

fiteroc commented 7 years ago

I have a collectionView that implements RAReorderableLayout and when I long press a collection item the cells must enter in edit mode and they must look different so that edit buttons appear in each cell view. Everything works fine unless after I enter the screen, where this collection view is, I long press a cell very quickly and it does not manage to finish redrawing the cells and it reaches this line in your code and crashes because currentCell is nil and you don't unwrap it correctly:

            let currentCell = collectionView?.cellForItem(at: indexPath!)

            cellFakeView = RACellFakeView(cell: currentCell!)

Please unwrap it correctly so I can still use cocoapods with the bug fix. Thank you!

Dan277 commented 6 years ago

if let indexPath = indexPath, let currentCell = collectionView?.cellForItem(at: indexPath) { cellFakeView = RACellFakeView(cell: currentCell) }