iOS Serialisation and Encoding
iOS开发中的对象序列化
NSCoding 实现
NSCoding 实现class CustomPoint: NSObject, NSCoding {
var x: Double = 0.0
var name: String = ""
func encode(with aCoder: NSCoder) {
aCoder.encode(x, forKey: "x")
aCoder.encode(name, forKey: "name")
}
required convenience init?(coder aDecoder: NSCoder) {
guard let name = aDecoder.decodeObject(forKey: "name") as? String else { return nil }
self.init(x: aDecoder.decodeDouble(forKey: "x"), name: name)
}
}通过NSSecureCoding增强安全性
NSSecureCoding增强安全性使用 NSKeyedArchiver 进行数据归档
NSKeyedArchiver 进行数据归档使用 Codable 进行简化序列化
Codable 进行简化序列化JSON和XML编码替代方案
安全考虑
参考资料
最后更新于