Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 自定义图像解码器_Swift_Serialization_Decoder_Decodable - Fatal编程技术网

Swift 自定义图像解码器

Swift 自定义图像解码器,swift,serialization,decoder,decodable,Swift,Serialization,Decoder,Decodable,我想创建一个解码器,它可以从数据中反序列化某些类型。我希望它能够使用这个init方法自动反序列化所有具有init?(data:data)initializer的类型 protocol DataInitializable: Decodable { init?(data: Data) } extension DataInitializable { // ??? } extension UIImage: DataInitializable {} let decoder = DataDe

我想创建一个
解码器
,它可以从数据中反序列化某些类型。我希望它能够使用这个init方法自动反序列化所有具有
init?(data:data)
initializer的类型

protocol DataInitializable: Decodable {
    init?(data: Data)
}
extension DataInitializable {
    // ???
}
extension UIImage: DataInitializable {}
let decoder = DataDecoder()
let image = try? decoder.decode(UIImage.self, from: data)
我尝试过各种方法,但是我找不到一个合适的方法来实现这种解码器。另外,我不知道如何在
DataInitializable
扩展中实现
Decodable
协议,以便它使用
init(data:)
工作

我知道我可以对图像使用包装类,或者类似的东西,但是我希望使用这种解码器