IOS开发之_文件规定与Plist文件读写

1、plist 文件的读写

读取:

1.创建plist文件: student.plist ;

2.创建数组用于储存plist绝对路径,并初始化;  NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"student" ofType:@"plist"];

3.1 字典类型: ①创建字典并遍历,利用 objectForKey找到对应的值;  for (NSDictionary *dic in array) {  NSString *nameStr = [dic objectForKey:@"name”]; }

           创建字典并使用initWithContentsOfFile初始化;   NSDictionary *dic = [[NSDictionary alloc]initWithContentsOfFile:self.plistStr];

3.2 数组类型:    创建数组并使用initWithContentsOfFile初始化;  NSArray *array = [[NSArray alloc]initWithContentsOfFile:plistPath];

写入:

1.创建一个用于储存plist文件储存地址的路径(沙盒/Document/)的字符串;  @property (nonatomic, strong) NSString *plistStr;

2.懒加载字符串,将用户文件与将要创建的plist文件路径拼接,获取绝对路径;  _plistStr = [documentsPath stringByAppendingPathComponent:@"test.plist"];

3.创建要储存的文件,分为字典类型和数组类型;  NSDictionary *dic = @{@"names":@[@"Test0",@"Test1"]};

4.将要储存的字典或数组写入带有绝对路径的文件;  [dic writeToFile:self.plistStr atomically:YES];


2、归档文件

写入

1.准备储存归档数据的可变数据类型;    NSMutableData *mutableData = [NSMutableData data];

2.创建NSKeyedArchiving对象;      NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc]initForWritingWithMutableData:mutableData];

3.对要归档的文件经行编码操作;        [archiver encodeObject:array forKey:@"firstArray"];

4.完成编码操作;                   [archiver finishEncoding];

5.将编码后的数据写入到文件中;       [mutableData writeToFile:self.archivingFilePath atomically:YES];

读取

1.从文件中读取数据(NSData);      NSData *data = [NSData dataWithContentsOfFile:_archivingFilePath];

2.创建NSKeyedNarchiving对象;    NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc]initForReadingWithData:data];

3.对数据经行解码操作;             NSArray *firstArray = [unarchiver decodeObjectForKey:@"firstArray"];

4.完成解码操作;                               [unarchiver finishDecoding];



转载于:https://my.oschina.net/CeeYang/blog/602579

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值