Avatar
http://forums.swift.org/t/proposal-introducing-nonconformingtype-strategies-with-encoder-decoder/8066 任意の型に対するencoding/decoding strategyを入れられるようにしたいとProposal上げたけど、「考慮の上外してるよ、カプセル化を壊してしまうからね」とのこと
Current Encoder/Decoder has a problem that most types (except for Date, Data and Float) have no way to modify encoding/decoding strategies. I want to give them the way. Proposed solution for example of Decoder, struct NonConformingTypeDecodingStrategies { subscript(type: T.Type) -> NonConformingTypeDecodingStrategy? } public enum NonConformingTypeDecodingStrategy { /// Throw upon encountering non-conforming values. This is the default strategy. case throw /// Assume ...
1:40 AM
なるほどと思いつつ、それならinit(from:)の決め打ち実装が現状ちょっと多すぎるんじゃないかなと思った 例に挙げたCGPointとか、デフォではCodableに適合させず、extensionでユーザーにinit(from:)を書かせるほうがよいのでは、という気がします