0

我正在实现我自己的 JSON 编码器/解码器,即 Swift 的Encoder&Decoder协议。

问题是,我只想覆盖JSONEncoderFoundation 中已经提供的一小部分功能。JSONEncoder,与它的名字相反,它不是真正的 Swift Encoder。相反,它包装了一个 fileprivate 类_JSONEncoder,它实现了所有必需的Encoder功能。

要编写我自己的定制编码器,我可以:

  • 从头开始编写我自己的 JSON 编码器。
  • _JSONEncoder从源本身复制粘贴和修改。

两者都不是特别吸引人的解决方案。编写自己的编码器是一项艰巨而艰巨的任务,我毫不怀疑它会充满错误。_JSONEncoder另一方面,每次对原始源文件进行更新时,复制粘贴迫使我笨拙地检查和移植修复。

我宁愿只_JSONEncoder暴露并包装它的Encoder相关函数,同时根据需要注入我自己的代码。

4

0 回答 0