--归档--解档--

OC中的归档是将对象写入到本地的一个文件夹中,Java中的 ObjectInputStream 和 ObjectOutputStream 来进行操作的。当然在操作的这些对象都是需要实现一个接口:Serializable,同样的OC中操作的对象也是需要实现一个协议的协议,其中,当遵守这两个协议的时候有两个需要实现的方法

- (void)encodeWithCoder:(NSCoder *)aCoder;

- (nullable instancetype)initWithCoder:(NSCoder *)aDecoder;

如果对多个对象归档的话,这就需要用到一个类 NSData 和 NSNutableData

1.接下来看一下,自定义类型的归档和解档操作

--归档--解档--_第1张图片

2.这里自定义了一个Person类型,实现了NSCoding协议,然后他有三个属性,


--归档--解档--_第2张图片

在Person.m文件中,我们需要实现协议中的两个方法:

initWithCoder

encodeWithCoder

这两个方法一个是用于归档操作时会调用的方法,还有一个是用于解档操作时会调用的方法

3.在ViewController中的归档和解档操作


--归档--解档--_第3张图片

你可能感兴趣的:(--归档--解档--)