黑马程序员——Objective-C程序设计(第4版)学习笔记之19-归档——黑马 IOS 技术博客
来源:互联网 发布:淘宝电商是什么 编辑:程序博客网 时间:2024/05/18 20:05
------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
在Objective-C语言中,归档是一个过程,即用某种格式来保存一个或多个对象,以便以后还原这些对象。(这个玩意类似于Java中的序列化和反序列化)
在Mac OS X上的应用程序使用XML属性列表(或plists)存储诸如默认参数选择、应用程序设置和配置信息这样的数据。
使用PropertyList Editor程序来创建属性列表。
使用NSPropertyListSerialization类在文件中写入或读取属性列表可以在不同的平台之间移植。
归档方法一般包括:
1)使用XML属性列表进行归档。(如果可能,尽量在程序中使用XML属性列表)
2)使用NSKeyedArchiver归档。
3)使用NSData创建自定义档案。
要归档当前没有列出的对象,必须告知系统如何归档(或编码)你的对象,以及如何解归档(或解码)它们。这是按照<NSCoding>协议,在类定义中添加encodeWithCoder:方法和initWithCoder:方法实现的。
每次归档程序想要根据指定的类编码对象时,都将调用encodeWithCoder:方法,该方法告知归档程序如何进行归档。类似地,每次从指定的类解码对象时,都会调用initWIthCoder:方法。
一般而言,编码方法应该指定如何归档想要保存的对象中的每个实例变量。
从档案文件中恢复数据很简单:所做的工作只需和归档文件相反。
首先,需要像以前那样分配一个数据空间。
其次,把档案文件中的数据读入该数据空间。
然后,需要创建一个NSKeydUnarchiver对象,并告知它从指定的空间解码数据。
必须调用解码方法来提取和解码归档的对象,做完之后,向NSKeyedUnarchiver对象发送一条finishDecoding消息。
使用归档程序复制对象:
可以使用Foundation的归档功能来创建对象的深复制。
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之19-归档——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之02-Objective-C 编程环境概述——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之21-编写iOS应用程序——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之13-基本的C语言特性——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之01 引言——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之03-类、对象和方法——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之04-数据类型和表达式——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之05-循环结构——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之06-选择结构——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之07-类——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之08-继承——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之09-多态、动态类型和动态绑定——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之10-变量和数据类型——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之11-分类和协议——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之12-预处理程序——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之14-Foundation框架简介——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之15-数字、字符串和集合——黑马 IOS 技术博客
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之16-使用文件——黑马 IOS 技术博客
- 关于iOS 8.0模拟器不能使用中文输入法
- C#客户端和服务端数据的同步传输
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之18-复制对象——黑马 IOS 技术博客
- 数据结构之二叉查找树的建立遍历删除
- 初识C#——流程控制
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之19-归档——黑马 IOS 技术博客
- 20141221
- SQL Server中事务日志已满的原因以及解决办法
- leetcode:Single Number 菜鸟解法
- 判断是否是手机号码
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之20-Cocoa和Cocoa Touch简介——黑马 IOS 技术博客
- Android程序开发重新开始一
- 安装office2007安装程序找不到office.zh-cn\*三种详细解决方案
- Spark SQL之External DataSource外部数据源(一)示例