瓶中水,水中月

做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" 吧,这个是必须的哦!

然后下面就是代码:

//序列化Person_Builder *ps = [[Person_Builder alloc] init];ps.name = @"Aquarius";ps.id = 10000;ps.email = @"Aquarius@mail.com";NSData *data = [[ps build] data];//反序列化Person *ps1 = [Person parseFromData:data];

好了,以上就是怎么在ios下使用protobuf了,网上的资源是很多,但是都不是很全,要么就是一般人看了都晕晕的,要么就是链接下载出问题。

我这里的应该都能一直用,如果有什么问题,可以留言给我。我将知无不言。最后提醒一点,你所做出来的数据模型,千万不能重名!!

版权声明:本文为博主原创文章,未经博主允许不得转载。

无论何时何地,只要创造就有收获,只有不息的奋进,才能证明生命的存在。

瓶中水,水中月

相关文章:

你感兴趣的文章:

标签云: