PList 文件的使用总结

plist文件是标准的xml格式的。  我们在日常开发中 可以用它 来存储 一些系统的 的用户信息,系统的配置信息等。

【一】默认的 info.plist

屏幕快照 2015-05-05 15.54.24.png

在项目的各个设置中,都保存在了 info 这里,比如说软件名称,软件版本等等,而这些信息则是保存在项目创建时,默认创建的那个info.plist 文件里面。

这个 info.plist 文件可以这样得到

[[NSBundle mainBundle] infoDictionary];

这个 info.plist文件是只读的,主要保存系统信息

比如说获取软件的版本号,可以使用这个函数

[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]

这个之所以不用Bundle versions string, short,而用CFBundleShortVersionString是因为关键字是这个,而不是Bundle versions string, short,如果不知道哪个是关键字,可以这样查看各个关键字

屏幕快照 2015-05-05 15.54.48.png

然后info.plist文件就是这样的,这样就可以确定各个关键字了。

屏幕快照 2015-05-05 15.55.01.png

【二】创建自定义的 Plist 文件,读取和修改写入

首先创建 plist 文件,直接新建文件即可

屏幕快照 2015-05-05 15.57.03.png

以创建 hudongdong.plist 为例,当然可以直接在 xcode 里面写入

屏幕快照 2015-05-05 16.30.04.png

比如写入一个blogname hudongdong

(1)读取操作

1.获取文件路径

NSString *datapath = [[NSBundle mainBundle] pathForResource:@"hudongdong" ofType:@"plist"];

2.写入字典

NSMutableDictionary *dic=[[NSMutableDictionary alloc]initWithContentsOfFile:datapath];

3.输出内容

NSLog(@"%@",[dic objectForKey:@"blogname"]);

(2)写入操作

写入操作分为直接更改工程文件和写入 Documents 文件夹后再修改

1.直接更改工程文件

//直接更改文件
    [dic setObject:@"520" forKey:@"love"];
    [dic writeToFile:datapath atomically:true];

当然这个是需要在工程目录下查看文件,而不是在项目里面查看

屏幕快照 2015-05-05 16.10.03.png

2.写入 Documents 文件夹后再修改

//写入 Document 以后修改
    
    //获取应用程序沙盒的Documents目录
    NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
    NSString *plistPath1 = [paths objectAtIndex:0];
    //得到完整的文件名
    NSString *filename=[plistPath1 stringByAppendingPathComponent:@"test.plist"];
    NSLog(@"%@",filename);
    //输入写入
    [dic writeToFile:filename atomically:YES];

第一个写入操作只是说说可以这样修改,正常的开发中,是使用的第二个操作的

本质上他就是一个 xml,会用即可

Demo 下载

Github下载:https://github.com/DamonHu/InfoplistDemo

GitOsc下载:http://git.oschina.net/DamonHoo/InfoplistDemo

Last modification:January 1st, 1970 at 08:00 am
如果看了这个文章可以让你少加会班,可以请我喝杯可乐
已打赏名单
微信公众号

Leave a Comment