Objective-C中的数据序列化(Avro替代方案)



上周我一直在尝试序列化一个iOS项目(Objective-C)的所有类。

由于我曾经使用Avro(Apache)库在Android项目中执行此操作,因此我一直在尝试在iOS项目中执行相同的操作,但是,我注意到的第一件事是iOS中没有太多关于Avro的信息。

我尝试的第一件事:使用 CocoaPods 实现库 ObjectiveAvro,但在导入库 Avro C 时找不到库 Avro C。

我尝试的第二件事:删除并再次执行上一个过程,但这次仅使用 Avro C 库,但出现了相同的错误。

我尝试的第三件事:使用迦太基实现BlueSteel框架。这是一个快速的库,但我想尝试是否可以在Objective-C项目中以某种方式使用它。我不能。

我只需要序列化和反序列化数据,提供一个模式,就像你可以在 Objective-C 项目中使用 Avro (Android) 一样,我想做的最后一件事就是将整个项目转换为 Swift。

那么你知道目前在Objective-C中做到这一点的方法是什么吗?

我可以弄清楚如何做我尝试的第三件事

基本上,有必要通过 Carthage 导入库,然后创建一个新的 Swift 类,该类将与 Swift 库"对话",因为我们处于 Objective-C 项目中。XCode会要求您添加一个"标题类",然后按"是"。

然后,就像使用 Swift 调用库方法并从当前类调用 Swift 类一样简单。Objective-C 项目中的 Swift 类

最后,只是要通知BlueSteel框架是一场噩梦,因为它非常有限,而且记录非常差,因此我仍然不知道真正的替代方案。

但是,如果您要使用它,请记住这些类不是自动生成的,因此您需要手动转换为 Avro 并签署结果。

最新更新