乐鱼电竞


  • 教育行业A股IPO第一股(股票代码 003032)

    全国咨询/投诉热线: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/
    0 分享到:
    和我们在线交谈!


    【网站地图】【sitemap】