protocolbuffer 的简单使用

原文参考来源 ,在实际操作中做了些调整

一、protocolBuffer环境安装 (protocolbuffer 编译器的安装)

  • 1 从github下载protocolbuffer对应版本编译器包, 比如目前对应的objc 最新版本下载地址(https://github.com/protocolbuffers/protobuf/releases/download/v3.6.1/protobuf-all-3.6.1.zip)

  • 2 解压包,假设解压后的文件夹名为: protobuf-3.6.1,
        打开终端进入protobuf-3.6.1 目录, 依次执行以下命令:

./configure
make
make check
sudo make install

如果编译顺利的话,便可以使用protoc命令了,以后便可以用这个命令将.proto文件转换为不同语言的源代码文件。

二、创建项目,导入protocolbuffer库,编写*.proto文件, 生成OC对应的模型类文件

  • 1 、从github下载protocolbuffer 源码, 解压可以看到支持不同语言版本的源码,这里我们选择objectivec,如下图:

    protocolbuffer 的简单使用_第1张图片
    protocolbuffer 源码

  • 2 新建一个 OC 工程,并将objectivec 源码拖进项目中,如下图:


    protocolbuffer 的简单使用_第2张图片
    将protocolbuffer的oc源码拖入工程
  • 3 将protocolbuffer的oc源码静态库 导入当前的oc项目targets --> Build Phases --> Link Binary With Libraries

    protocolbuffer 的简单使用_第3张图片
    导入protocolbuffer静态库

  • 4 编写 *.proto 文件,比如新建一个Demo.proto 文件.如下图. 官方标准语法

protocolbuffer 的简单使用_第4张图片
编写 *.proto 文件
  • 5 编写好对应的 *.proto 文件后,将终端切换到文件目录,使用proto 命令将 *.proto 文件比编译成 对应的OC模型文件
proto Demo.proto --objc_out=./
// '=' 号后面 表示编译文件指定的输出路径
  • 6 将编译生成的 *.proto.h*.proto.m 文件拖入项目中,以后就可以使用对应的数据结构来表示数据了, 和json 一个,但是比json效率更高.
    注意:
    生成的 *.proto.h*.proto.m 是不支持ARC的,编译要报错,所以要将 *.proto.m 设置为 -fno-objc-arc 然后就可以使用了.
targets -> Build Phases --> Compile Sources --> 选择对应的文件 --> -fno-objc-arc
protocolbuffer 的简单使用_第5张图片
禁用arc
protocolbuffer 的简单使用_第6张图片
测试

Demo

你可能感兴趣的:(protocolbuffer 的简单使用)