Objective-C 中预览 Protocol Buffers

背景简介

如果你还不知道什么是protobuf,那么你应该去谷歌一下。protobuf是谷歌开源出来的一种数据交换格式。除了protobuf,用的比较的数据交换格式还有txt、XMLJSON

直观的认识

table

name age gender
xiaogang 12 1

xml

<xml>
 <person>
   <name> xiaogang </name>
   <age>12</age>
   <gender>1</gender>
 </person>
</xml>

json

{
  name : "xiaogang",
  age : 12,
  gender : 1
}

protobuf

0a087869 616f6761 6e67100c 1801

开始实践

Protocbuf 的使用涉及到三个部分配合

信息图像(133898240).png

消息定义

syntax = "proto3";

message Person {
  string name = 1;
  int32 age = 2;
  int32 gender = 3;
}

编译器

protoc 能够编译的程序 cpp, csharp, java, javasrcipt, objective-c, php, python, ruby, swift

protoc -I=$SRC_DIR --objc_out=$DES_DIR filepath

组装

项目中引入 protoc 的Objective-C的rumtime library

  • 将objectivec 目录拷贝至项目根目录
  • 项目中引入 ProtocolBuffers_iOS.xcodeproj
  • 项目设置 Building Setting -> Iser Header Search path -> objectivec 路径
  • 添加 编译生成的 源文件 Person.pbobjc.h Person.pbobjc.m
  • 自己可以实例化话对象《=》序列化

demo

github

分析待续

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容