Archiving 就是将一些objects打包成可传送的archives,这些archive不仅保存数据也保存meta data(描述数据的数据,就是这些objects什么类,什么关系之类)
以便于将archive 原样decode和encode。
下图是一个object graph(目标形成的网络)进行打包成archive
必须遵循NSCoding协议并继承其方法才能decoding , encoding
Foundation提供了一系列的archivers 和 unarchivers 类
- NSKeyedArchiver & NSKeyedUnarchiver,提供利用String key作为标识符
- NSArchivers & NSUnarchivers, 传统的序列式,不推荐使用
创建Keyed Archivers
调用NSKeyedArchiver的archiveRootObject:toFile: 方法
调用NSKeyedUnarchiver的unarchiveObjectWithFile: 方法
如果对象不是file而是data object, 请使用 archivedDataWithRootObject: & unarchiveObjectWIthData
Object graph,就是一个object 网络