хранение объектов ответа API в Coredata, что лучше в IOS SWIFT?

Я хочу сохранить ответ API (объекты модели) в основных данных, поэтому я думаю, что у меня есть два варианта, но я не могу решить, какой из них мне лучше выбрать? и почему?

1) отдельные объекты структуры для ответа API и nsmanaged объекты для основных данных. и обеспечить сопоставление между ними, чтобы преобразовать одно в другое.

2) преобразуйте объект своей структурной модели с данными codable + core, чтобы вам не приходилось управлять ими по отдельности.

Всего 3 ответа


Хороший вопрос, я пойду с пути 1!

Потому что способ 2 определенно самый простой, но у nsmanaged все еще есть проблемы с кодируемым. (может быть, пока нет новых версий?)

Но я думаю, что лучше иметь отдельные объекты, потому что они чище, и вы можете добавить различные свойства в вашу базу данных, или вы получите некоторые свойства из вашего бэкэнда, и вам не нужно, чтобы они сохранялись в БД.


Я не знаю, будет ли быстрее хранить объекты в CoreData или сохранять json в CoreData и анализировать их после, но я пойду с номером 1, как сказал А.Амини до меня :)


По-разному.

  • Если вы просто хотите отобразить данные JSON в Core Data, определенно путь № 2 . Так как вы все равно должны реализовать требуемые методы протокола, вы получаете максимальную гибкость даже в отношениях. Особенно, если вы хотите декодировать и кодировать данные, Codable является наиболее эффективным способом. Я использую это сам в нескольких проектах.

  • Если записи Базовых данных будут значительно изменены, например, в форме # 1, может быть лучше, потому что дополнительная структура или класс предоставляют прокси для создания объектов независимо от контекста управляемого объекта.


Есть идеи?

10000