Сохраните структуру Thrift в файл, используя Core Data

Мне было интересно, есть ли хороший способ сохранить структуру Thrift в файл/SQLite с использованием основных данных iOS.

Один из способов — выполнить сопоставление вручную между объявлением Thrift и сущностями в Core Data, но это много работы и не очень легко поддерживать.

Вторая идея состоит в том, чтобы сохранить Thrift как поле двоичных данных в Entity.

Есть ли более элегантный способ? Например, библиотека, которая занимается бережливостью и занимается этим делом?

Спасибо, Сильвиу.


person silviu    schedule 18.08.2011    source источник
comment
Привет Сильвиу! Вы нашли какое-то решение, может быть, написали orm или нашли обходной путь?   -  person xtmq    schedule 05.03.2014


Ответы (1)


Вы можете использовать NSValue для переноса структур. В свою очередь, объекты NSValue могут храниться в трансформируемом атрибуте.

Однако, если вы хотите искать или манипулировать содержимым структуры в Core Data, вам следует смоделировать структуру как сущность и предоставить метод в пользовательском подклассе для возврата структуры, если это необходимо.

person TechZen    schedule 18.08.2011
comment
Спасибо за ответ, но я не вижу четкой разницы между тем, что вы предложили, и моей второй идеей. В итоге я создал Entity с атрибутами для моих критериев поиска и другим атрибутом для закодированной версии структуры Thrift. - person silviu; 19.08.2011
comment
Скорее всего, нет существующей библиотеки, потому что она не стоит усилий. Сохранение как NSValue позволяет получить доступ к частям структуры без дальнейшего преобразования. Это предпочтительное средство в рамках API. NSValue существует в основном для переноса скалярных значений всех видов. Я почти всегда создаю объект, потому что вам обычно нужно получить или найти значения членов структуры. - person TechZen; 19.08.2011