《Objective-C基础教程》第17章 文件加载和保存
发布日期:2022-02-01 13:46:24 浏览次数:35 分类:技术文章

本文共 924 字,大约阅读时间需要 3 分钟。

Cocoa提供了两个处理文件的通用类:属性列表和对象编码

17.1 属性列表(property list)

通常简写为plist

这些列表涌来存储Cocoa能够处理的对象包括NSArray、NSString、NSDictionary、NSNumber、NSData和NSDate

17.1.1 NSDate
NSDate *date=[NSDate date];//获取当前的日期和时间NSDate *date=[NSDate dateWithTimeIntervalSinceNow:-(24*60*60)];//获取24小时前的日期和时间
17.1.2 NSData

NSData可以包含大量字节,可以获得数据的长度和指向字节起始位置的指针

17.1.3 写入和读取属性列表
NSArray *phrase=[NSArray arrayWithObject:@"s",@"d",@"s",nil];[phrase writeToFile:@"/tmp/sds.txt" atomically:YES];//atomically是否首先将文件内容保存在临时问价中,再和原始文件交换,防止保存过程中出现意外,破坏原始文件(除非保存的文件过大,否则应该使用)NSArray *phrase2=[NSArray arrayWithContentsOfFile:@"/tmp/sds.txt"];
17.1.4 修改对象类型

1、强制转换,便利plist文件并创建一个平行结果的可修改对象

2、NSPropertyListSerialization

17.2 编码对象

当对象需要保存自身时,就会调用encodeWithCoder:;当对象需要加载自身时,就会调用initWithCoder:。

initWithCoder:和其他init方法一样,再为对象执行操作之前,需要使用超类进行初始化,可以采用两种方法,具体取决于父类。
如果父类采用了NSCoding协议,则应该调用[super initWithCoder:decoder],否则只需要调用[super init]。例如,NSObject不采用NSCoding协议,因此采用简单的init方法。

转载地址:https://blog.csdn.net/shidesheng5435/article/details/47688733 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:《Objective-C基础教程》第13章 协议
下一篇:从零开始学习iOS开发-股票记帐本1.0(1)

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月04日 21时15分19秒