自定义图像解码器

时间:2019-09-13 13:57:13

标签: swift serialization decoder decodable

我想创建一个Decoder,可以从数据中反序列化某些类型。我希望它能够使用此init方法自动反序列化所有具有init?(data: Data)初始化程序的类型。

protocol DataInitializable: Decodable {
    init?(data: Data)
}
extension DataInitializable {
    // ???
}
extension UIImage: DataInitializable {}
let decoder = DataDecoder()
let image = try? decoder.decode(UIImage.self, from: data)

我已经尝试了各种方法,但是我找不到实现这种解码器的正确方法。另外,我不确定如何在Decodable扩展名中实现DataInitializable协议,以便它可以在init(data:)下使用。

我知道我可以为图像使用包装器类,或类似的东西,但我想改用这种解码器。

0 个答案:

没有答案