Project12-UserDefaults, NSKeyedArchiver, NSkeyedUnarchiver

这个项目是对Projece10-Name2Faces的修改,在p10中,加入的图片,和修改后的名字在重新启动这个应用的时候就没有了。所以需要保存起来,在下一次应用启动的时候读取出来。这个项目中用归档和UserDefaults结合起来保存数组.

1.保存

var people = [Person]()
    
func save() {
      //将数组people转换成Data对象
      let savedData = NSKeyedArchiver.archivedData(withRootObject: people )
      let defaults = UserDefaults.standard
      //将Data利用UserDefaults保存起来
      defaults.set(savedData, forKey: "people")
}

2.读取

let defaults = UserDefaults.standard
if let savedPeople = defaults.object(forKey: "people") as? Data {
    people = NSKeyedUnarchiver.unarchiveObject(with: savedPeople) as! [Person]
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容