做ios下的protobuf费了很大的力气,也终于特么的搞定了!
经过我的总结,这个流程是这样的...
1.首先你要有一套序列化和反序列化的库,下载它,然后解压,放到你的项目里面
这是百度云盘的链接:protobuf序列化的库
注意:这个东西是不支持arc的,所以请自行将其arc关掉。
怎么关arc?...这...给你链接!关闭arc方法
想要使用,请 #import "Bootstrap.h"
2.序列化是将数据转换为一个特定的类来做的,因此,我们需要相关的类文件,可是怎么创建类文件呢?
这个时候就需要protobuf编译工具了!这是变异工具百度云盘的链接:protobuf编译工具
注意:这玩意不是用来放在你的项目里了,可千万别这么搞..不然....反正我不会疯...
解压好,放到随意一个地方,嗯....那就桌面吧!然后到你的mac->应用程序->其他->终端
打开后输入: (注意,那个admin是我的用户的id,你自己的id是什么你自己知道...,也可以先输入 cd 记得后面加一个空格,然后将解压下来的文件夹直接拖到终端里面来),然后回车确定
这样以后呢,需要输入三个指令:(输入一个运行完了再输入另一个)
./configure
make
sudo make install (需要输入密码哦)
OK,这样我们就大功告成一半了!!(注意:运行会出现warning,这没关系,就跟你敲代码一样,有⚠警告无所谓,出现error错误才表示失败)
3.创建要使用的数据模型
在第二步里面也说了,序列化和反序列化的时候都是用自己根据需求定义好的自定义的类
这一步我们来创建这个激动人心的小玩意~,假如俺的需求是一个人的信息,他有id,name,email 三个属性
用文本编辑写入:
message Person {
required int32 id = 1;
required string name = 2;
optional string email = 3;
}
然后保存,注意!保存成proto格式的,自己改格式啦!什么!这都不会!
随便保存一个格式的,然后右键点开,显示简介,按下图,自己改!
改好了么?好了的话,创建一个文件夹放在桌面,文件夹的名字也就叫person算了
然后!各位观众!然后才是最重要的!
依然是点开心爱的终端,向上次一样cd 到peroson 的文件夹 ,会了吧应该?不会再去上面看!!
然后再输入指令: protoc ./*.proto --objc_out=./
不要再等了同学..... 输入完了不会有任何的显示的
打开你的person文件夹,你会惊奇的发现,你需要的数据模型类Person.pb.h&Person.pb.m已经静静的躺在这个文件夹里等你发落了。
ok,这样就对了嘛,创建成功!然后就把他们直接丢到你的项目吧!记得这个也不支持arc的呦!
4.使用,你还要问我怎么使用!你为什么步干脆吃饭洞房也要我帮你做了算了!
首先,你必须在要用的类里 #import "Person.pb.h" 吧,这个是必须的哦!
然后下面就是代码:
好了,以上就是怎么在ios下使用protobuf了,网上的资源是很多,但是都不是很全,要么就是一般人看了都晕晕的,要么就是链接下载出问题。
我这里的应该都能一直用,如果有什么问题,可以留言给我。我将知无不言。最后提醒一点,你所做出来的数据模型,千万不能重名!!