import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let filePath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory,NSSearchPathDomainMask.UserDomainMask,true)[0] + "/person.dat"
//归档
let data = NSMutableData()
let archiver = NSKeyedArchiver.init(forWritingWithMutableData: data)
let array = ["1","2","3"]
archiver.encodeObject(array,forKey:"arr")
archiver.encodeInt(20,forKey: "age")
archiver.finishEncoding()
data.writetoFile(filePath,atomically: true)
//反归档
let unarchiverData = NSData(contentsOfFile: filePath)
let unarchiver = NSKeyedUnarchiver.init(forReadingWithData: unarchiverData!)
let decodeData = unarchiver.decodeObjectForKey("arr") as! NSArray
let decodeAge = unarchiver.decodeIntForKey("age")
NSLog("%@",decodeData)
NSLog("%d",decodeAge)
}
}
1.在带键的归档中,每个归档字段都有一个key值,解归档时key值要与归档时key值匹配 2.带键归档可以一次存储多个对象 3.归档的对象是Foundation框架中的对象 4.归档和解归档其中任意对象都需要归档和解归档整个文件 5.归档后的文件是加密的,所以归档文件的扩展名可以随意取
原文地址:https://www.jb51.cc/swift/323256.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。