Protocol Buffers 在iOS的使用
Protocol Buffers 简单的说是对结构化的数据进行序列化(Json格式、XML格式)的一种语言,但是更小、更快、更简单,更多的用于IM即时通讯这一块,有助于节省流量,提高性能。Protocol Buffers 是谷歌的,官网连接
现在我们来简单的体验下 Protocol Buffers 在 iOS 的使用。
安装使用环境,打开终端
安装 homebrew
通过 homebrew 安装其他需要的工具
brew install automake
brew install libtool
brew install protobuf
然后安装 Protocol Buffers OC需要的环境,去 GitHub 上下载,下载地址
下载完后解压得到一个文件夹,然后用 终端 进入该文件夹的目录,依次执行下面的命令
./configure
make
make check
sudo make install
安装成功的话,在 /usr/local/bin/ 目录下会有 protoc 文件
到此,就完成使用环境的安装。
接下来就是实际使用了:
- 随便新建一个文件夹,终端切换到该文件夹下,然后新建一个 Person.proto 文件
在Person.proto 文件添加以下代码,具体的语法教程可以官网学习
syntax = "proto3";
message Person {
string name = 1;
int32 age = 2;
string gender = 3;
}
保存文件,然后在终端输入以下命令,把 Person.proto 文件转换为 OC 的 .h 和 .m 文件 。要在 Person.proto 文件所在目录下执行
protoc --proto_path=. --objc_out=. Person.proto
这样就得到了OC需要的代码了
在我们的项目里使用的话,还要安装 Protocol Buffers 的第三方库,这里我们通过 cocoapods 安装
pod 'Protobuf'
安装完,重新打开项目,然后把 Person.proto Person.pbobjc.h Person.pbobjc.m 这三个文件都拖进我们的项目。由于转换出来的文件是使用MRC的,所以我们要让 Person.pbobjc.m 支持ARC。
-fno-objc-arc
最后,终于到了代码环节
#import "Person.pbobjc.h"
Person *person = [[Person alloc] init];
person.name = @"Rex";
person.age = 18;
person.gender = @"Male";
NSData *personData = [person data];
NSError *error = nil;
Person *personGet = [Person parseFromData:personData error:&error];
if (error) {
NSLog(@"%@",error.description);
}
NSLog(@"%@",personGet);
至此,一个 Protocol Buffers 简单的在 OC 的使用就完成了。
本文地址:https://blog.csdn.net/csdn2314/article/details/107958154
上一篇: 中国芯片:万亿市场增长下的求生之路!
下一篇: TXC晶振万物互联5*品时代