前言:可以在工程中直接创建plist文件,该文件可以直接在xcode里编辑,但是无法直接通过通过代码操作,故而我们的做法一般是先在xcode里创建一个plist文件,提前写好我们需要的内容或者直接从外面导入,通过路径获取plist里面的内容。后在沙盒内创建我们可以直接操作的plist文档,同时导入我们通过xcode上面的plist获取并修改的内容。之后便可以直接操作沙盒内部的plist文件,以此达到存储和修改的目的了。
plist文件最外层默认使用字典的存储形式。
本文档用于个人记录及具体信息的解释,故不提供一些基础功能及用法的解释说明。
一、工程内plist文件的相关操作
如果无需在plist内部提前写入内容,可以略过本步骤直接对(NSMutableDictionary *)data进行操作并直接将其导入导入沙盒内部,用于存取修改。
本文档创建的plist文件名称为test.plist,具体根据实际情况进行调整。
1.创建或添加
直接在工程内部创建plist文件,或者通过工程外将文件导入进来。
2.读取工程内的plist文件
NSString * bundlePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"plist"];
NSMutableDictionary * data1 = [[NSMutableDictionary alloc] initWithContentsOfFile:bundlePath];
3.对获取的plist文件的信息进行修改
[data1 setObject:@"内容" forKey:@"关键字"];
[data1 setObject:@"haaa" forKey:@"ccc"];
[data1 setObject:@"afee" forKey:@"aaaa"];
二、对沙盒里plist文件的操作
1.获取应用程序沙盒路径
//获取沙盒下的Documents目录
NSArray *pathsArray=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString * plistPath = [pathsArray objectAtIndex:0];
//得到完整的文件名
NSString *filename=[plistPath stringByAppendingPathComponent:@"test.plist"];
2.将数据写入沙盒内plist文件中
如果该目标文件还未创建则自动创建该plist文件,该步骤可对plist文件进行创建及修改更新。
//内容写入
[data1 writeToFile:filename atomically:YES];
3.读取沙盒内plist文件
//读取
NSMutableDictionary * data = [[NSMutableDictionary alloc] initWithContentsOfFile:filename];
NSLog(@"data:%@", data);
本文档由本人编写,经验不足,如有谬误,欢迎指出。
网友评论