数据处理-对象写入(2)

let p = Person()
p.name = "张三"
p.age = 12
let data = NSMutableData()
let archiver = NSKeyedArchiver(forWritingWith: data)
archiver.encode(p, forKey: "p1")
archiver.finishEncoding()
// 写个路径
let tmp = NSTemporaryDirectory()
let path = tmp + "index.txt"
print(path)
// 把data数据写入文件
data.write(toFile: path, atomically: true)

    // 解码
    
 let url = URL(fileURLWithPath: path)
  let data1 =  try! Data(contentsOf: url)
    print(data1)
 let unarchiver = NSKeyedUnarchiver(forReadingWith: data as Data)
 let p1 =  unarchiver.decodeObject(forKey: "p1") as! Person
    unarchiver.finishDecoding()
 print("p1.name = \(p1.name) p1.age = \(p1.age)")
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容