Protocol Buffers在 iOS 中的使用
2020-08-17 本文已影响0人
叫我魏大川
这是一篇Protocol Buffers 的简介:https://juejin.im/post/6844903622266847246
可以了解基本概念和在iOS中的基本使用。
只记录几个接入时的注意点:
1:protocol的pod命令为(版本可自定义): pod 'Protobuf', '~> 3.12.0'
2:编译成oc文件的命令
protoc --objc_out=./ ./sensor.proto
或者
protoc --proto_path=. --objc_out=. Person.proto
推荐命令1:生成的是自带ARC的文件。
Person:自定义的porto文件的名字。
2:当初始化了一堆模型对象并保存到一个数组后,需要往文件里面存的时候,需要使用NSOutputStream,一个NSOutputStream对象只能负责一个 writeDelimitedToOutputStream 的写入,writeDelimitedToOutputStream是需要连续存入多个模型对象二进制数据到文件的方法。所以,NSOutputStream初始化需要放进for循环中。
如果用一个NSOutputStream,writeDelimitedToOutputStream则会崩溃。不知道是我的使用姿势问题,还是Protobuf版本代码问题。
3:写入的二进制文件中不能有其他数据,比如不小心把一些字符串写入到了此文件中,否则会造成pb文件读取不出来的情况。