全国咨询/投诉热线:400-618-4000

IOS培训实战教程之浅谈iOS开发中的对象归档

更新时间:2016年01月27日11时17分 来源:传智播客IOS培训学院 浏览次数:

 iOS提供的数据持久化方式有:SQLiteCoreData属性列表、NSUserDefault对象归档。
        这里来简单介绍下在传智IOS培训过程中,iOS开发中的对象归档:
        对象归档是将对象归档以文件的形式保存到磁盘中(也称为序列化,持久化)使用的时候读取该文件的保存路径读取文件的内容(也称为接档,反序列化)
        对象归档的文件是保密的磁盘上无法查看文件中的内容,而属性列表是明文的可以查看)
        对象归档有两种方式:1、对foundat中对象进行归档     2、自定义对象归档
        1、简单对象归档
       使用两个类:NSKeyedA richivNSKeyedUnarchiver
       NSStr*homeDirectori=NSHomeDirectori;  //获取根目录
       NSStringhomePath=[homeDirectoristringByA ppendingPathComponent自定义文件名,如test.archive
       NSA rrai*arrai
       Boolflag=[NSKeyedA richivarchiveRootObject:arraitoFile:homePath];
      ifflag{
      NSLo归档成功!";
      }
      读取归档文件的内容:
        NSA rrai*arrai=[NSKeyedUnarchivunarchiveObjectWithFile:homePath];
        NSLo,arrai;
        这样就简单了实现了将NSA rrai对象的归档和解档。
       但是这种归档方式有个缺点,就是一个文件只能保存一个对象,如果有多个对象要保存的话那岂不是有n多个文件,这样不是很适合的所以有了下面这种归档方式。
        2、自定义内容归档
       使用NSData实例作为归档的存储数据
       添加归档的内容---使用键值对
       完成归档
       解归档:
       从磁盘读取文件,生成NSData实例
       根据NSData实例和初始化解归档实例
       解归档,根据kei访问value
       NSStr*homeDirectori=NSHomeDirectori;//获取根目录
       NSStringhomePath=[homeDirectoristringByA ppendingPathComponent自定义文件名,如test.archive
       NSMutableData*data=[[NSMutableDataalloc]init];
       NSKeyedA rchiv*archiv=[[NSKeyedA rchivalloc]initForWritingWithMutableData:data];
       [archivencodeFloat:50forKey,age"];
       [archivencodeObject"jack"forKey"name"];
       [archivfinishEncoding]; //结束添加对象到data中
       [archivrelease];
       [datawriteToFile:homePath atomically:YES];//将data写到文件中保存在磁盘上
       NData*content=[NSDatadataWithConenteOfFile:homePath];
       NSKeyedUnarchiv*unarchiv=[[NSKeyedUnarchivalloc]initForReadingWithData:content];
       floatag=[unarchivdecodeFloatForKey"age"];
       NSStr*name=[unarchivdecodeObjectForKey"name"]
        在iOS开发中,除了归档问题,往往不注意的是安全问题。别以为,就Android会爆漏洞,早在WireLurker出现的时候,iOS的安全神话就已经不复存在了。而目前在国内,iOS安全加密保护这块还是空白。但是,IOS培训学院想告诉广大iOS开发者也不必担心,因为就在前不久,已经有平台推出了iOS应用加密服务,针对iOS的技术原理和破解原理,分别从本地数据、方法体/方法名、URL编码、程序结构、网络传输数据等几个方面对iOS应用进行全方位的保护,并可以根据iOS应用用户的需求提供定制解决方案,从而实现iOS防破解保护。

本文版权归传智播客ios培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:传智播客IOS培训学院
首发:http://www.itcast.cn/ios/

javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

uids

北京校区

    14天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    8天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    0天免费试学

    基础班入门课程限时免费

    申请试学名额

    12天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    10天免费试学

    基础班入门课程限时免费

    申请试学名额