記錄 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