Swift使用Codable实现NSCoding

时间:2018-04-21 22:10:07

标签: swift codable

我正在处理一些需要我的对象实现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")
    }
}

0 个答案:

没有答案