在iOS中本地存储protobuf对象

3
我正在使用gRPC作为iOS应用程序的服务器通信方式。 gRPC使用protobuf对象来处理这些请求。在某些情况下,我还必须在本地存储这些对象,想知道是否有ORM或类似ORM的库或最佳方法来将protobuf对象存储在iOS本地存储中。 我知道像Realm这样的库要求您的数据对象继承自RealmObject,因此,为了将我的protobuf对象存储在Realm中,我基本上必须手动映射每个值。 是否有一种方法可以直接将此Protobuf对象存储在iOS本地存储中? 如果没有,我认为我将简单地使用Realm,并为每个protobuf设置一个RealmObject,并具有像initWithProtoObj这样的构造函数,从而映射数据并将RealmObject反向映射到Protobuf,当我需要将某些内容推送到服务器时执行相反操作。

非常感谢您的帮助!

1个回答

2

你可以将每个proto消息序列化并存储为二进制数据块,需要时再解析它。这样做的好处是,每个proto消息都支持NSSecureCoding,这将在幕后为您完成。


1
是的,那就是我最后做的。我创建了一个Realm对象,其中有一个属性,简单地包含了以NSData形式序列化的protobuf数据。不过,我从未回答过这个问题。对于仍在寻找答案的任何人来说,这就是正确的方法! - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接