Protobuf отсутствует суффикс 'list' в сгенерированном Objective-C коде - PullRequest
0 голосов
/ 04 марта 2019

Я использую protobuf 2.6.1 с этим плагином , который я сам скомпилировал.

В проекте, в котором я работаю, модели Protobuf уже присутствуют.Я попытался восстановить файлы с помощью следующей команды:

protoc --plugin = / path / to / the / compiled / plugin / objc-gen --objc_out =. / Gen / NAME.proto OF.protoTHE.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)?

...