ios - 在 iOS 中本地存储 protobuf 对象

标签 ios local-storage protocol-buffers grpc

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

在此先感谢您的帮助!

最佳答案

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

每个原型(prototype)消息都支持 NSSecureCoding,它将在后台为您完成此操作。

关于ios - 在 iOS 中本地存储 protobuf 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37978312/

相关文章:

ios - iTunes 连接, "Missing Screenshot"消息

ios - UITableViewCell 的 UIButton subview 取消选择 UITableViewCell?

protocol-buffers - gRPC 和模式演化保证?

protocol-buffers - Protobuf 命名约定

ios - 创建一个高效的纹理重新着色片段着色器

iOS 流媒体视频错误

javascript - 每个项目的不同随机数

javascript - 为什么我的 JSON.stringify() 不能与 localstorage.setItem() 一起使用?

javascript - 使用 AngularJS 防止在 Localstorage 中添加重复项

protocol-buffers - protobuf中流消息实现的比较