Как организовать ручную сортировку в CoreData?
Суть такая:
- Есть CoreData б/д, есть UICollectionView
- Пользователь может менять позицию ячейки в UICollectionView
- Это должно зеркально отражаться в базе данных.
- Б/д будет синхронизироваться с iCloud, т.е. решение не должно вызывать конфликтов в упорядочивании.
Первое, что приходит в голову, это естественно добавить свойство index к entity. Но при попытке это спроектировать, я вижу что в итоге чуть ли не всю базу данных каждый раз прийдется перестраивать т.к. поменяй первый элемент и индекс надо менять везде. Плюс при шаринге через облако, может быть одновременно куча добавлений/удалений entity и изменения индексов. Боюсь что все будет просто коряво работать при использовании индекса.
Кто-нибудь решал такой вопрос на реальном проекте?