属性列表

在做iOS开发时,经常用到到plist文件,  那plist文件是什么呢? 它全名是:Property List,属性列表文件,它是一种用来存储串行化后的对象的文件。属性列表文件的扩展名为.plist ,因此通常被称为 plist文件,文件是xml格式的.属性列表可以使用的类型如下:


对于只需要保存简单数据的应用而言,使用属性列表是一个不错的选择,NSArray,NSDictionary对象提供了- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag方法,该方法可以把NSArray,NSDictionary包含的数据写入属性文件.当恢复这些数据的时候,只要调用NSArray,NSDictionary的xxxWithContentsOfFile:(NSString *)path方法即可.

但是要注意,如果对象是NSString、NSDictionary、NSArray、NSData、NSNumberNSValue等类型,就可以使用writeToFile:atomically:方法直接将对象写到属性列表文件中.这也意味着,如果NSArray,NSDictionary中保存了其他类型的对象,或者使用了程序员自定义的实例,将不能够直接调用NSArray,NSDictionary- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)flag方法执行保存.如果程序需要持久化保存自定义类的实例,则可以考虑选择对象归档的方法进行保存!

 其实我们经常使用的NSUserDefaults就是一个属性列表文件,它提供了一个与默认系统进行交互的编程接口,用户可以在程序运行的时候进行读写数据操作,从而实现持久化。


属性列表保存文件数据

    //1.获得文件路径
    NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
    NSString *fileName = [path stringByAppendingPathComponent:@"123.plist"];
    NSLog(@"%@",fileName);在这里可以根据路径找到对应的 plist 文件.



    //2.存储 存储时使用writeToFile: atomically:方法。 其中atomically表示是否需要先写入一个辅助文件,再把辅助文件拷贝到目标文件地址。这是更安全的写入文件方法,一般都写YES。
    NSArray *array = @[@"123", @"456", @"789"];
    [array writeToFile:fileName atomically:YES];
    
   // 3.读取
    NSArray *result = [NSArray arrayWithContentsOfFile:fileName];
    NSLog(@"%@", result);

手动添加plist文件

操作很简单,New File - Resource - Property List ,输入文件名称即可


注意:plist文件的跟类型只能够是选择Array或者Dictionary


其子类key可以选择多种类型,为plist添加数据只需要点击添加“+”按钮即可,然后选择对应的类型,对于Array或者Dictionary可以继续添加数据。


我们还可以查看plist文件的XML格式,点击文件,右键选择“Open As -> Source Code”即可查看。


源码样式如下:


一旦我们创建好自己的plist文件并且添加完数据,就可以在项目中获取该文件,得到文件中的数据。

 // 获取文件路径
    NSString * filePath = [[NSBundle mainBundle] pathForResource:@"PropertyList" ofType:@"plist"];
    // 获取数据
    NSDictionary * dic = [NSDictionary dictionaryWithContentsOfFile:filePath];
    NSLog(@"%@",dic);

打印结果:


{

    Arr =     (

        value1,

        value2,

        value3

    );

    Student =     {

        name = Jack;

    };

}


对于固定显示的内容,那么使用plist文件还是很方便的,不需要反复写代码,并且可以进行可视化操作,添加,删除数据非常方便。对于更多详情的内容可以看官方文档,里面介绍的非常好。


  
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值