zoukankan      html  css  js  c++  java
  • Objective-C之成魔之路【19-归档】

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

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

    我要捐赠: 点击捐赠

    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:方法。


    一般而言,编码方法应该指定怎样归档想要保存的对象中的每一个实例变量。


    从档案文件里恢复数据非常easy:所做的工作仅仅需和归档文件相反。

    首先,须要像曾经那样分配一个数据空间。

    其次,把档案文件里的数据读入该数据空间。

    然后,须要创建一个NSKeydUnarchiver对象。并告知它从指定的空间解码数据。

    必须调用解码方法来提取和解码归档的对象,做完之后,向NSKeyedUnarchiver对象发送一条finishDecoding消息。


    使用归档程序复制对象:

    能够使用Foundation的归档功能来创建对象的深复制。

  • 相关阅读:
    结对编程——四则运算
    需求分析
    结对编程
    调查问卷的心得体会
    软件工程课初步目标
    软件工程课程建议
    结对编程--fault,error,failure
    结对编程--四则运算
    需求分析
    结对编程
  • 原文地址:https://www.cnblogs.com/mthoutai/p/6791969.html
Copyright © 2011-2022 走看看