搭建环境
文中使用的是protobuf-3.11.4
./configure
make
make check
sudo make install
sudo ldconfig # refresh shared library cache.
检查是否安装成功
protoc --version
如果成功你将会看到libprotoc 3.11.4
编写.proto文件
按照官方标准语法https://developers.google.com/protocol-buffers/ 编写通用代码
例如新建一个Person.proto
touch Person.proto
Person.proto文件
syntax = "proto3"; //指定版本
message Person {
string name = 1;
int32 uid = 2;
string email = 3;
}
生成.h .m文件
protoc *.proto --objc_out=.
iOS集成protobuf
pod 'Protobuf'
序列化/反序列化
#import "Person.pbobjc.h"
Person *persion = [Person new];
persion.name = @"张三";
persion.email = @"123@gmail.com";
persion.uid = 123;
//序列化
NSData *data = [persion data];
NSLog(@"data %@", data);
//反序列化
Person *persion2 = [Person parseFromData:data error:nil];
NSLog(@"name = %@", persion2.name);
NSLog(@"email = %@", persion2.email);
NSLog(@"id = %d", persion2.uid);
网友评论