NSData: 对缓冲区的封装 缓冲区由nadata释放
属性列表
属性列表的写入:
每个集合类中都有一个放法-writeToFile:atomically: 该方法可以将集合中的内容 写入到.plis文件中 atomically参数是决定写入新内容时 是否先将新内容保存到临时文件 等完全写入了新内容 再交换 这样可以更加安全的写入(缺点 无法返回错误信息)
读取:[集合 xxxxWithContentsOfFile] 从文件中读取数据
编码对象
属性列表只适合保存一些基本类型的数据 如果需要保存对象需要编码对象
NSCoding 协议
{
encodeWithCoder (将对象保存)
initWithCoder (初始化对象)
}
NSCoder :编码器的抽象类
NSKeyedArchiver: NSCoder子类 具体的编码类
NSKeyedUnarchiver: NSCoder子类 具体的解码类
[NSKeyedArchiver archiveDataWithRootObject: obj ]
会调用到对象的encodeWithCoder方法 然后将对象的数据保存起来 返回一个NSData 你可以将NSData保存到磁盘上使对象永久保存
解码的方式相反