IOS序列化及反序列化.ppt
文本预览下载声明
序列化和反序列化 序列化 (serialization) 定义:又称串行化,将对象状态转换为可保持或传输的格式的过程 目的:以某种存储形成使自定义对象持久化,或者将这种对象从一个地方传输到另一个地方。 好处:使程序更具维护性 需要序列化的场合 1,当你想把的内存中的对象保存到一个文件中或者数据库中时候 2,当你想用套接字在网络上传送对象的时候(JSON,XML) 序列化过程 序列化之前 每个保存在堆(Heap)中的对象都有相应的状态(state),即实例变量(instance ariable) UserObject *uerObj; uerObj.name = @Tom; uerObj.age = 12; 序列化过程 将对象转化为可存储(可传输)格式 存数到文件系统(传输) 讲读取到的数据(接收到的数据)转化为对象(反序列化) 反序列化(Deserialize) 与序列化相对,将序列化的数据流转换为对象 Object-c中实现序列化 一般对象(NSArray,NSDictionary)序列化 自定义对象序列化(实现NSCoding协议) 序列化,反序列化方法 将对象编码(序列化) - (void)encodeWithCoder:(NSCoder *)aCoder 将对象解码(反序列化) - (id) initWithCoder:(NSCoder *)aDecoder 序列化,反序列化方法 序列化 NSData *data1 = [NSKeyedArchiver archivedDataWithRootObject:objctArr]; 反序列化 UserObject *userObj = [NSKeyedUnarchiver unarchiveObjectWithData:data2]; * * 谢谢观赏 WPS Office Make Presentation much more fun @WPS官方微博 @kingsoftwps * *
显示全部