我在使用 Protobuf 的 Objective-C 端口写入 CodedOutput 流时遇到问题:
POPMessage_Builder* builder = [[POPMessage_Builder alloc] init];
[builder setPayload:@"Hello, world!"];
POPMessage* message = [builder build];
NSOutputStream* rawOutput = [NSOutputStream outputStreamToMemory];
PBCodedOutputStream* os = [PBCodedOutputStream streamWithOutputStream:rawOutput];
[message writeToCodedOutputStream:os];
[os flush];
NSData* data = [rawOutput propertyForKey:NSStreamDataWrittenToMemoryStreamKey];
NSLog(@"%@", data);
最后数据始终为空。我已经尝试向它写入各种东西,但似乎 PBCodedOutputStream 似乎从未写入 nsoutputstream。
有没有人有这方面的经验?