是否有针对Objective-C的MessagePack协议的实现?
如果没有,是否有将C实现桥接到Objective-C类型的示例?
答案 0 :(得分:4)
如果通过桥接你的意思是从另一种语言访问一种语言特征的可能性,那么就不需要在Objective-C和C之间进行桥接。你可以直接从Objective-C调用C代码,这样就可以使用C- MessagePack直接输入。
我想你已经知道了,所以你要找的是Objective-C和MessagePack之间的桥(或适配器,或外观,或绑定,或任何其他许多名称),允许你在一个使用MessagePack更像“Objective-C”的方式。
所以我认为你的问题是MessagePack的C-API真的是“低级”的,你正在寻找来自Objective-C的MessagePack的“更高级”API。
一些建议:
而不是使用C-API,请使用MessagePack的C ++ API。这很简单,很容易为您完成工作。实际上,在我看来,MessagePack C ++ - API非常好,如果你将Objective-C文件命名为“。mm”扩展名,你可以在其中混合使用Objective-C和C ++代码(这称为Objective-C ++) )。
如果您正在寻找更高级别的MessagePack API,您可以使用Python-API然后使用Python-Objective-C bridge来混合Objective-C和Python代码。您的表现可能会有所不同。
如果你真的在Objective-C和MessagePack C API之间实现了某种中间层(在你喜欢的时候调用它)之后,我会建议使用C ++或Python API来MessagePack作为设计的例子,取决于您最熟悉的语言。因此,例如,您将使用NSArray,其中使用std:vector(或Python向量),依此类推。这应该为设计这个中间层提供了直接的方法。
答案 1 :(得分:3)
现在MessagePack项目下有一个官方实现。
答案 2 :(得分:2)
https://github.com/chrishulbert/msgpack
Chris Hulbert刚刚实施并发布了一个。
有关详细信息,请访问他的博客:
http://splinter.com.au/messagepack-parser-for-objective-c-iphone