Protobuf在Objective-C生成的代码中缺少“列表”后缀

时间:2019-03-04 10:19:00

标签: objective-c protocol-buffers automatic-ref-counting objective-c-2.0 manual-retain-release

我在自己编译的this plugin中使用protobuf 2.6.1。

在该项目中,我正在使用Protobuf模型。我尝试使用以下命令重新生成文件:

protoc --plugin = / path / to / the / compiled / plugin / objc-gen --objc_out =。/ gen / NAME.proto OF.proto THE.proto FILES.proto

通常,文件与先前生成的模型紧密匹配,但是在语法上存在一些差异。

以下.proto字符串:

repeated MyType case = 4;

在Obj-C(带有ARC的新插件)中翻译为以下行:

@property (readonly, strong) NSArray * case;

它以前带有List后缀(旧插件,非ARC,不适用于当前版本的macOS):

- (NSArray*) caseList;

假设case是Objective-C中的关键字,则会触发编译错误。

问题:

  1. 由于Protobuf哪个版本更改了语法以省略后缀List

  2. 是否可以使用新插件触发“旧”行为?

  3. 在macOS 10.14.3和更高版本上运行的插件的最新版本是什么 能够生成旧样式的文件(即使用list 后缀)?

0 个答案:

没有答案