Задача такая - полученный результат от сервиса записать в базу данных посредством CoreData. Но при всем этом, нужно учесть тот факт, что записываться должны только те элементы, которых нет в БД.
Вижу тут два пути:
- Перегонять данные из одной модели в другую (
NSManagedObject
<->Decodable
) - Иметь одну модель данных, которая является наследником
NSManagedObject
и быть подписана под протоколDecodable
Я решил пойти по второму пути. После получения json, я прикидываю в JSONDecoder
контекст кор даты, у меня инициализируются массив NSManagedObject иии… Тут у меня начался затык Как здесь правильно поступить?
Я решил пойти “логическим” способом - просто сделал fetch
и начал сравниваться с тем, что пришло из сетевой прослойки. Но я как понимаю, это все происходит в рамках одного контекста и поэтому особо результата не дает.
Нужно как-то разбивать на два контекста - “рабочий” (в котором я буду фильтровать, прикидывать то что получил из сети или что-то еще) и контекст для “сохранений” в БД?