Вступить в клуб →
сложнаявопросХранение данных: Core Data, Keychain и UserDefaults

После каждой синхронизации товары в каталоге дублируются

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

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела