iOS protubuf 的使用
来源:互联网 发布:设置淘宝子账号 编辑:程序博客网 时间:2024/06/17 14:04
做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了,网上的资源是很多,但是都不是很全,要么就是一般人看了都晕晕的,要么就是链接下载出问题。
我这里的应该都能一直用,如果有什么问题,可以留言给我。我将知无不言。最后提醒一点,你所做出来的数据模型,千万不能重名!!
- iOS protubuf 的使用
- iOS protubuf 的使用
- iOS protubuf 的使用
- protubuf的简知
- IOS Layer的使用
- IOS线程的使用
- iOS NSOperationQueue的使用
- iOS NSNotification的使用
- ios Bundle的使用
- IOS ARC的使用
- IOS UITableViewCell的使用
- ios .a的使用
- ios Layer的使用
- ios MKNetworkKit 的使用
- iOS keychain的使用
- IOS NSUserDefault的使用
- IOS NSRunloop 的使用
- IOS Layer的使用
- 关于主流的NoSQL数据库
- 黑马程序员--易错点整理
- 父对象和子对象---(OC面向对象--多态)
- android数据转换tips
- WriteHuge 不是CFile的成员
- iOS protubuf 的使用
- Android应用的核心基础
- 开源监控利器nagios实战
- java下载html页面---把网页内容保存成本地html
- 使用 Eclipse 的 SVN 插件创建项目的主干/分支/标签
- Java中request获取IP(转自推酷)
- soap本地测试
- This Android SDK requires Andriod Developer Toolkit version 20.0.0 or above
- Android自定义LinLayout