Скрыть CollectionViewCell без обновления источника данных - PullRequest
0 голосов
/ 29 августа 2018

Я хочу использовать collectionView.deleteItems(at: [IndexPath]) и сохранить мой источник данных без изменений. Цель этого требуемого поведения состоит в том, чтобы иметь возможность применять фильтры к представлению моей коллекции и легко возвращать их обратно благодаря collectionView.reloadData() и сохранять классную встроенную анимацию удаления.

Есть ли обходной путь для достижения этой цели?

1 Ответ

0 голосов
/ 29 августа 2018

Ваш источник данных всегда должен совпадать с тем, что отображается в представлении коллекции.

Самый простой способ - это иметь два массива для ваших данных. allData и displayedData. Ваш вид коллекции всегда будет рассматривать displayedData как источник данных.

Если пользователь добавляет фильтр, вы обновляете значение в displayedData и запускаете нужную анимацию. Когда пользователь удаляет фильтр, вы устанавливаете displayedData обратно на allData и снова анимируете.

...