我正在处理一些需要我的对象实现NSCoding的遗留代码 我想利用Codable并摆脱样板
如何从数据创建解码器,以便我可以用它初始化我的对象?
class Something: NSCoding, Codable {
public convenience required init?(coder aDecoder: NSCoder) {
guard let data = aDecoder.decodeObject(forKey: "data") as? Data else { return nil }
// How to get Decodable
try? self.init(from: <#T##Decoder#>)
}
public func encode(with aCoder: NSCoder) {
let data = try? JSONEncoder().encode(self)
aCoder.encode(data, forKey: "data")
}
}