Я пытаюсь выяснить, как изменить indexPath для вставки в collectionView для функции peformBatchUpdates, используя .map
Скажем, у меня есть элементы 1 2 3 4 5 6 7 в collectionView и массив indexPaths для удаления как
▿ 2 elements
▿ 0 : 2 elements
- 0 : 0
- 1 : 0
▿ 1 : 2 elements
- 0 : 0
- 1 : 1
и массив indexPaths для вставки как
▿ 2 elements
▿ 0 : 2 elements
- 0 : 0
- 1 : 3
▿ 1 : 2 elements
- 0 : 0
- 1 : 4
Я полагаю, что indexPath для вставки для операции executeBatchUpdates должны быть рассчитаны после того, как удаления были выполнены, поэтому, видя, что удаления - это первые 2 элемента в коллекции collectionView, нужно уменьшить indexPath.item для вставкиIndexPaths на 2, чтобы иметь они вставляются в правильную позицию, т.е. я хочу, чтобы окончательная вставкаIndexPaths была ...
▿ 2 elements
▿ 0 : 2 elements
- 0 : 0
- 1 : 1
▿ 1 : 2 elements
- 0 : 0
- 1 : 2
По сути, я думаю, что мне нужно проверить каждый indexPath.item в массиве inserttionIndexPath, посмотреть, сколько из deletetionIndexPath было перед этим inserttionIndexPath, и уменьшить значение inserttionIndexPath.item на это число.
Как я могу использовать .map для этих insertIndexPaths, чтобы получить правильный результат?