Avatar
norio_nomura 6/12/2017 2:56 PM
Optional<URL>を特別扱いできていないのは、extension Optional: Encodableの実装 https://github.com/apple/swift/blob/890c2d50159892e5160481c6882e10a2fc75e249/stdlib/public/core/Codable.swift#L3249 で直接ラップされた型のencode(to:)を呼んでるから。 var container = encoder.singleValueContainer() switch self { case .none: try container.encodeNil() case .some(let wrapped): try (wrapped as! Encodable).encode(to: encoder) }
swift - The Swift Programming Language