在使用C#protobuf-net生成的objective-c中反序列化“序列化Protobuf”的最佳方法是什么?

时间:2014-01-27 13:17:15

标签: c# c++ objective-c .net protocol-buffers

我有一个包含对象,数组,int和字符串的类。

public class Template
    {
        [ProtoMember(1)]
        public string name;
        [ProtoMember(2)]
        public tempClass contour;
        [ProtoMember(3)]
        .
        .
        .
  }

//And here is the Serializing code (Using protobuf-net)
 using (var file = File.Create("Templates.bin"))
            {
                Serializer.Serialize<Template[]>(file, tempArray);
            }

我知道可以使用Objective-c对其进行反序列化。我尝试了一些解决方案,但还没有成功。

以前有人这样做过吗?使用XML而不是Protobuf会更好吗?

1 个答案:

答案 0 :(得分:1)

这将映射到(在.proto术语中):

message templateWrapper {
    repeated template items = 1;
}
message template {
    optional string name = 1;
    optional tempClass contour = 2;
    // ...
}
message tempClass {
    // ...
}

然后将其反序列化为单个templateWrapper,其中包含多个items

请注意,templateWrapper以外的所有.proto架构都应通过Serializer.GetProto<Template>()提供。