Objective-C之成魔之路【19-归档】

来源:互联网 发布:windows桌面图标字体 编辑:程序博客网 时间:2024/05/16 23:48

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。

如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^ 

我要捐赠: 点击捐赠

Cocos2d-X源码下载:点我传送


在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的归档功能来创建对象的深复制。

2 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 想玩线上德州没有渠道怎么办 手机玩久了头晕怎么办 玩3d游戏头晕恶心怎么办 win10打cf没声音怎么办 英雄联盟玩家尚未准备就绪怎么办 玩手机想吐应该怎么办 玩手机多了头晕怎么办 玩cf老是无响应怎么办 玩穿越火线好卡怎么办 绝地求生画质卡顿怎么办 手机热点玩lol卡怎么办 一加6直播触手黑屏怎么办 ipad应用商店密码忘记了怎么办 爱派忘记了密码怎么办 爱派id密码忘了怎么办 爱派密码忘了怎么办 爱派的密码忘了怎么办 苹果爱派密码忘了怎么办 鼠标无法识别的usb设备怎么办 电脑鼠标无法识别usb设备怎么办 win7电脑用户密码忘了怎么办 联想win7旗舰版开不了机怎么办 驱动都被卸载了怎么办 电脑密码忘了怎么办w7旗舰版 笔记本电脑密码忘了怎么办w7 windows一键还原了怎么办 戴尔笔记本电脑键盘没反应怎么办 win10电脑系统盘满了怎么办 win7玩dnf卡死怎么办 cf老是卡住闪退怎么办 w7系统帐户被停用怎么办 海康硬盘录像机密码忘了怎么办 电信合约套餐到期后怎么办 电脑更新系统卡住了怎么办 格力空调显示e1怎么办 ae崩溃了没保存怎么办 电脑下面的状态栏没了怎么办 游戏32位不兼容怎么办 电脑开机dos红屏怎么办 win7进入dos红屏怎么办 手机玩游戏屏幕卡住不动怎么办