Как записать уникальный объект в CoreData, которого еще нет?

swift
coredata

#1

Задача такая - полученный результат от сервиса записать в базу данных посредством CoreData. Но при всем этом, нужно учесть тот факт, что записываться должны только те элементы, которых нет в БД.

Вижу тут два пути:

  1. Перегонять данные из одной модели в другую ( NSManagedObject <-> Decodable )
  2. Иметь одну модель данных, которая является наследником NSManagedObject и быть подписана под протокол Decodable

Я решил пойти по второму пути. После получения json, я прикидываю в JSONDecoder контекст кор даты, у меня инициализируются массив NSManagedObject иии… Тут у меня начался затык :slight_smile: Как здесь правильно поступить?

Я решил пойти “логическим” способом - просто сделал fetch и начал сравниваться с тем, что пришло из сетевой прослойки. Но я как понимаю, это все происходит в рамках одного контекста и поэтому особо результата не дает.

Нужно как-то разбивать на два контекста - “рабочий” (в котором я буду фильтровать, прикидывать то что получил из сети или что-то еще) и контекст для “сохранений” в БД?


#2

сравнить id/хеш ))) ______