欢迎来到天天文库
浏览记录
ID:36199671
大小:444.36 KB
页数:48页
时间:2019-05-07
《objectivec20程序设计第19章归》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第19章归档目录19.1使用XML属性列表进行归档19.2使用NSKeyedArchiver归档19.3编码方法和解码方法19.4使用NSData创建自定义档案19.5使用归档程序复制对象19.1使用XML属性列表进行归档MacOSX上的应用程序使用XML属性列表(或plists)来存储诸如默认参数选择、应用程序设置和配置信息这样的数据,因此,了解如何创建和读回这些数据很有用。然而,这些列表的归档用途是有限的,因为当为某个数据结构创建属性列表时,没有保存特定的对象类,没有存储对同一对象的多个引用,也没有保持对
2、象的可变性。19.1使用XML属性列表进行归档如果你的对象是NSString、NSDictionary,NSArray、NSData或NSNumber对象,你可以使用在这些类中实现的writeToFile:atomically:方法将数据写到文件中。在写出某个字典或数组的情况下,该方法可以使用XML厲性列衷的格式写出数据。代码清单19-1显示了如何将在第15章“数字、字符串和集合“中作为简易术语表而创建的字典作为属性列表写入文件中。19.1使用XML属性列表进行归档#import3、bject.h>#import#import#importintmain(intargc,char*argv[]){NSAutoreleasePool*pool=[[NSAutoreleasePoolalloc]init];NSDictionary*glossary=[NSDictionarydictionaryWithObjectsAndKeys4、:@”Aclassdefinedsootherclassescaninheritfromit.”,@”abstractclass”,@”Toimplementallthemethodsdefinedinaprotocol”,@”adopt”,@”Storinganobjectforlateruse.“,@”archiving”,nil];if([glossarywriteToFile:@”glossary”atomically:YES]==NO)NSLog(@”Savetofilefailed!”);[poo5、ldrain];return0;}19.1使用XML属性列表进行归档writeToFile:atomically:消息被发送给字典对象glossary,使字典以属性列表的形式写到文件glossary中,atomically参数被设为YES,表示希望首先将字典写入临时备份文件中,并且一且成功,将把最终数据转移到名为glossary的指定文件中。这是一种安全措施,它保护文件在一些情况下(如系统在执行操作的过程中崩溃时)免受破坏。在这种情况下,原始的glossary文件(如果该文件已存在)不会受到损害。如果查看代码6、淸单19-1中创建的glossary文件,它的内容可能如下:19.1使用XML属性列表进行归档abstractclassAclassdefine7、dsootherclassescaninheritfromit.adoptToimplementallthemethodsdefinedinaprotocolarchivingStoringanobjectforlateruse.19.1使用XML属性列表进行归档从所创建的XML文件中可以看到,是以一种键(...)值(8、g>...)对的形式将字典写入文件的,根据字典创建属性列表时,字典中的键必须全都是NSString对象。数组中的元素或宇典中的值可以是NSString,NSArray,NSDictionary,NSData,或NSNumber对象。要将文件中的XML属性列表读入你的程序,使用dictionaryWithContentsOfFile:或arrayWithContentsOfFile:
3、bject.h>#import#import#importintmain(intargc,char*argv[]){NSAutoreleasePool*pool=[[NSAutoreleasePoolalloc]init];NSDictionary*glossary=[NSDictionarydictionaryWithObjectsAndKeys
4、:@”Aclassdefinedsootherclassescaninheritfromit.”,@”abstractclass”,@”Toimplementallthemethodsdefinedinaprotocol”,@”adopt”,@”Storinganobjectforlateruse.“,@”archiving”,nil];if([glossarywriteToFile:@”glossary”atomically:YES]==NO)NSLog(@”Savetofilefailed!”);[poo
5、ldrain];return0;}19.1使用XML属性列表进行归档writeToFile:atomically:消息被发送给字典对象glossary,使字典以属性列表的形式写到文件glossary中,atomically参数被设为YES,表示希望首先将字典写入临时备份文件中,并且一且成功,将把最终数据转移到名为glossary的指定文件中。这是一种安全措施,它保护文件在一些情况下(如系统在执行操作的过程中崩溃时)免受破坏。在这种情况下,原始的glossary文件(如果该文件已存在)不会受到损害。如果查看代码
6、淸单19-1中创建的glossary文件,它的内容可能如下:19.1使用XML属性列表进行归档abstractclassAclassdefine
7、dsootherclassescaninheritfromit.adoptToimplementallthemethodsdefinedinaprotocolarchivingStoringanobjectforlateruse.19.1使用XML属性列表进行归档从所创建的XML文件中可以看到,是以一种键(...)值(8、g>...)对的形式将字典写入文件的,根据字典创建属性列表时,字典中的键必须全都是NSString对象。数组中的元素或宇典中的值可以是NSString,NSArray,NSDictionary,NSData,或NSNumber对象。要将文件中的XML属性列表读入你的程序,使用dictionaryWithContentsOfFile:或arrayWithContentsOfFile:
8、g>...)对的形式将字典写入文件的,根据字典创建属性列表时,字典中的键必须全都是NSString对象。数组中的元素或宇典中的值可以是NSString,NSArray,NSDictionary,NSData,或NSNumber对象。要将文件中的XML属性列表读入你的程序,使用dictionaryWithContentsOfFile:或arrayWithContentsOfFile:
此文档下载收益归作者所有