protocol buffer 是 google 的一种数据交换的格式,它独立于语言,独立于平台。
第一步 需要protocol buffer编译工具
序列化是将数据转换为一个特定的类来做的,因此,我们需要相关的类文件,可是怎么创建类文件呢?这个时候就需要protocol buffer编译工具了!
打开终端:
先输入 cd 记得后面加一个空格,然后将解压下来的文件夹直接拖到终端里面来, 然后回车确定
这样以后呢,需要输入三个指令:(输入一个运行完了再输入另一个)
./configure
make
sudo make install (需要输入密码哦)
(注意:运行会出现warning,这没关系,就跟你敲代码一样,有⚠警告无所谓,出现error错误才表示失败)
第二步 创建要使用的数据模型
写一个小例子:
比如需求是一个人的信息,他有id,name, email 三个属性
用文本编辑写入:
message Person {
required int32 id = 1;
required string name = 2;
optional string email = 3;
}
然后保存,注意!保存成proto格式的.
随便保存一个格式的,然后右键点开,显示简介,按下图,自己改!
然后将它放在新建的文件夹(文件夹的名字也就叫person算了)
其次再打开终端 , 向上次一样cd空格到peroson 的文件夹 ,记得回车
最后输入指令: protoc空格--objc_out=./空格person.proto 记得回车
打开你的person文件夹,你会惊奇的发现,你需要的数据模型类Person.pb.h&Person.pb.m已经静静的躺在这个文件夹里等你发落了。
第三步 在xcode中引入protocol buffer库
ProtocolBuffer/objectivec/Classes目录导入到Xcode项目中, 导入完毕后,项目根目录下将会出现Classes目录。将该目录改名为ProtocolBuffers(注意最后的s):
修改项目属性中”Build Setting——>Header Search Pathes”,将项目根目录“.”添加到头文件搜索路径中去。(如下图:)
protoBufferLib 是库的名字
这样ProtocolBuffer for Objective-C的工作环境就配置好了。
使用:
将Person.pb.h 和 Person.pb.m添加到项目中,就可以直接使用了。
注意:这个东西是不支持arc的,所以请自行将其arc关掉。