NSCoding 的作用

来源:互联网 发布:mycat连接mysql 编辑:程序博客网 时间:2024/06/05 16:49

有时候我们在定义一个模型类的时候,经常要继承NSCoder这个协议,具体它有什么作用了?

NSCoding首先是一个协议,类继承它,此类的实例才能被编码(encode)和译码(decode),继承了这个类,也就实现两个方法

  1.initWithCoder(NSCoder:coder)//从coder中读取数据,保存到相应的变量中,即反序列化数据

2.encodeWithCoder(NSCoder:coder)//读取实例变量,并把这些数据写到coder中去。序列化数据

例如下图


注意:还有一个抽象类(NSCoder)与其区别,NSCoder不能被实例化,但是可以被继承,有两个方便的实例子类。可以直接只用器归档和解档

1.NSKeyedUnarchiver   从二进制流读取对象。

2.NSKeyedArchiver       把对象写到二进制流中去

0 0