记录 Protocol Buffers 应用于 iOS 的尝试


Protocol Buffers 应用于 iOS 的尝试

      公司下一个项目打算使用Protocol Buffers ,所以这几天学习了解了下Protocol Buffers ,尝试了 Protocol Buffers 应用于 Objective-C.


      关于Protocol Buffers 是什么,我想大部分看我正在写的这篇记录的弟兄应该比我熟了,如果也不甚了解的话google一下吧,去看看官方文档吧。

 

      在应用ProtocolBuffers ,我首先尝试的是 protobuf-2.4.1版本,该版本支持C++,Java,Python,但参考一篇博文,据说以插件的方式可以实现proto文件到.h/.m文件的转换(博文地址:Protocol buffer for objective-c 环境配置),但是我没能成功,给出连接供有心人尝试。

      在超凡兄提点下我尝试了protobuf-2.2.0版本,这个用起来比较简单,参考超凡兄给的一片博文很快就把.h/.m文件生成了。(博文地址:Protocol Buffers for Objective-C)。

     测试代码上面博文已经有了,用不着我赘述了。我在使用的时候遇到两个小问题:

1.服务器给我的.proto文件中 某些message中有 value 字段,这与 生成代码中set方法形参一样,会造成讨厌的警告;

2.服务器给我的.proto文件中 某些message中有 result 字段,这样会造成生成的oc 代码编译不通过,在该message对应_builder类中会报 set方法返回类型错误,应该为void*类型。


     针对这一问题,解决很简单,将.proto文件中对应字段改名就ok了(我是在该字段前加了字母'a')。

关于value很好理解;关于result我猜想是与保留字有关,就像property定义为new**报警告一样。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM