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]
}

你可能感兴趣的:(Project12-UserDefaults, NSKeyedArchiver, NSkeyedUnarchiver)