Как организовать ручную сортировку в CoreData?

Суть такая:

  1. Есть CoreData б/д, есть UICollectionView
  2. Пользователь может менять позицию ячейки в UICollectionView
  3. Это должно зеркально отражаться в базе данных.
  4. Б/д будет синхронизироваться с iCloud, т.е. решение не должно вызывать конфликтов в упорядочивании.

Первое, что приходит в голову, это естественно добавить свойство index к entity. Но при попытке это спроектировать, я вижу что в итоге чуть ли не всю базу данных каждый раз прийдется перестраивать т.к. поменяй первый элемент и индекс надо менять везде. Плюс при шаринге через облако, может быть одновременно куча добавлений/удалений entity и изменения индексов. Боюсь что все будет просто коряво работать при использовании индекса.

Кто-нибудь решал такой вопрос на реальном проекте?


Ответы (0 шт):