在 iOS 中本地存储 protobuf 对象

Storing protobuf object locally in iOS

我正在使用 gRPC 进行 iOS 应用程序的服务器通信。 gRPC 使用 protobuf 对象来处理这些请求。在某些情况下,我还必须在本地存储这些对象,我想知道是否有任何 ORM 或类似 ORM 的库或在 iOS 本地存储中存储 protobuf 对象的理想方法。我知道像 Realm 这样的库需要你的数据对象继承自 RealmObject,所以为了让我在 Realm 中存储我的 protobuf 对象,我基本上必须手动映射每个值。有没有办法直接将这个 Protobuf 对象存储在 iOS 的本地存储中?如果不是,我想我会简单地使用 Realm 并为每个 protobuf 设置一个 RealmObject 并使用一个像 initWithProtoObj 这样的构造函数,并在我需要将某些内容推送到服务器时将数据映射到 Protobuf,反之亦然。

在此先感谢您的帮助!

嗨,为什么不序列化每个原始消息并将其存储为二进制 blob?然后当你想加载它的时候再解析它。

每个原型消息都支持 NSSecureCoding,它会在后台为您执行此操作。