После каждой синхронизации товары в каталоге дублируются
context.perform {
for dto in response.products {
let product = Product(context: context)
product.id = dto.id
product.title = dto.title
}
try? context.save()
}
Каталог из 2000 товаров синхронизируется при каждом запуске, и после третьего запуска в базе 6000 записей. Предварительно искать каждый товар по id — 2000 запросов. Как обновлять данные без дублей силами Core Data?
- Ограничение уникальности по id и политика слияния
- Удалять весь каталог перед каждой вставкой
- Сделать атрибут id индексируемым
- Использовать objectID вместо своего id
