2016-06-22 2 views
2

Я использую gRPC для связи с сервером iOS. gRPC использует объекты protobuf для этих запросов. Я также должен хранить эти объекты локально в определенных случаях, и мне было интересно, есть ли какая-либо библиотека ORM или ORM или идеальный способ хранения объектов protobuf в локальном хранилище iOS. Я знаю, что библиотеки, такие как Realm, требуют, чтобы ваш объект данных наследовал от RealmObject, поэтому для того, чтобы я мог сохранить свой объект protobuf в Realm, мне было бы необходимо сопоставить каждое значение вручную. Есть ли способ напрямую сохранить этот объект Protobuf в локальном хранилище для iOS? Если нет, я думаю, что я просто использую Realm и имею RealmObject для каждого protobuf и имею конструктор, такой как initWithProtoObj, и по существу сопоставляю данные и делаю наоборот для RealmObject для Protobuf, когда мне нужно что-то нажимать на сервер.Хранение объекта protobuf локально в iOS

Заранее благодарим за любую помощь!

ответ

1

Привет, почему бы просто не сериализовать каждое прото-сообщение и сохранить его как двоичный блок? Затем проанализируйте его снова, когда вы хотите его загрузить.

Каждое протокольное сообщение поддерживает NSSecureCoding, которое будет делать это под капотом для вас.

+1

Да, это то, что я закончил делать. Я создал объект Realm, который имел свойство, которое просто содержало протобуф, сериализованный как NSData. Однако я никогда не отвечал на этот вопрос. Для тех, кто все еще ищет ответ на этот вопрос, это путь! – rohinb

Смежные вопросы