Реализация Codable и NSManagedObject одновременно в Swift

У меня есть приложение для обработки заказов, над которым я работаю, для моих работодателей, которое изначально было разработано для динамического получения всех данных о заказах, продуктах и ​​клиентах из API. Таким образом, все объекты и все функции, связанные с этими объектами, взаимодействуют в приложении с ожиданием "проход по значению", используя структуры, соответствующие Codable.

Теперь я должен кэшировать почти все эти объекты. Введите CoreData.

У меня нет желания создавать два файла для одного объекта (один как структура Codable, а другой как класс NSManagedObject), а затем пытаться выяснить, как преобразовать один в другой. Поэтому я хочу реализовать оба в одном и том же файле... хотя я все еще могу использовать мой код "передача по значению".

Возможно, это невозможно.

редактировать

Я ищу что-то немного проще, чем перестраивать все мои структуры данных с нуля. Я понимаю, что мне придется внести некоторые изменения, чтобы сделать структуру Codable совместимой с классом NSManagedObject. Я хотел бы избежать создания собственного инициализатора, который требует, чтобы я вводил каждое свойство вручную, потому что их сотни.

1 ответ

В конце концов, похоже, что при переходе с динамического приложения API без кэширования на кэшированное приложение не существует "хорошего" решения.

Я решил просто прикусить пулю и попробовать метод из этого Вопроса: Как использовать swift 4 Codable в Core Data?

Другие вопросы по тегам