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

  • 相关阅读:
    ABAP接口用法
    监听textarea数值变化
    The first step in solving any problem is recognizing there is one.
    Wrinkles should merely indicate where smiles have been.
    God made relatives.Thank God we can choose our friends.
    Home is where your heart is
    ABAP跳转屏幕
    Python 工具包 werkzeug 初探
    atom通过remote ftp同步本地文件到远程主机的方法
    Mongodb学习笔记一
  • 原文地址:https://www.cnblogs.com/mthoutai/p/6791969.html
Copyright © 2011-2022 走看看