我正在尝试编写一个包装给定/的Encoder
/对。这个包装器的目标是成功处理循环引用(既不做也不做),并将实际的编码/解码委托给被包装的编码器。Decoder
Encoder
Decoder
JSONEncoder
PropertyListEncoder
我惊讶地发现既不JSONEncoder
也不PropertyListEncoder
符合Encoder
,同样,他们的Decoder
同行也不符合Decoder
!
这似乎很奇怪。如果这两种类型不符合,那么Encoder
协议的意义何在?查看源代码,我可以看到内部_JSONEncoder
符合,但它是fileprivate
.
那么没有希望了吗?真的没有办法笼统地包装一个Encoder
like JSONENcoder
orPropertyListEncoder
吗?