plist文件是一种轻量级大数据存储方式,它的全名为PropertyList,即属性列表文件,它是一种用来存储串行化后的对象的文件。Plist文件是以key-value的方式来存取数据的。
创建plist文件可通过xcode在工程中创建,也可通过代码来创建:
1.plist文件的创建:
//打印沙盒路径
NSLog(@"%@",NSHomeDirectory());
//找到沙盒路径下document所在的文件路径
NSArray *storeFile = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *document = [storeFile objectAtIndex:0];
//在document路径下得到plist文件所在的路径
NSString *filepath = [document stringByAppendingPathComponent:@"liu.plist"];
//通过NSFileManager在文件路径下创建plist文件
NSFileManager *manager = [NSFileManager defaultManager];
//在此处plist的内容和属性都设置为空
[manager createFileAtPath:filepath contents:nil attributes:nil];
//如果需要修改plist文件的相关属性,可以通过NSFileManager得到plist文件的所有属性,然后设置相应的attributes值来更改,attributes值为字典类型
// NSLog(@"%@",[manager attributesOfItemAtPath:filepath error:nil]);
2.向plist文件添加数据
//创建可变字典,在其中添加数据
NSMutableDictionary *mainDict = [[NSMutableDictionary alloc]init];
//在rootdict下创建一个子字典,并添加数据
NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
[dict setObject:@"liu" forKey:@"one"];
[dict setObject:@"zhi" forKey:@"two"];
//将创建的子字典添加到向plist传输数据的字典
[mainDict setValue:dict forKey:@"item1"];
//通过mainDict向plist写入数据
[mainDict writeToFile:filepath atomically:YES];
//插入第二条子字典
NSMutableDictionary *dict11 = [[NSMutableDictionary alloc]init];
[dict11 setObject:@"liu" forKey:@"one"];
[dict11 setObject:@"zhi" forKey:@"two"];
[mainDict setValue:dict11 forKey:@"item2"];
[mainDict writeToFile:filepath atomically:YES];
3.在plist文件中删除数据
//在plist列表中移除第二个字典
[mainDict removeObjectForKey:@"item2"];
[mainDict writeToFile:filepath atomically:YES];
4.查看plist文件中的数据
//得到plist列表中所有的数据并打印
NSDictionary *lookdict = [NSDictionary dictionaryWithContentsOfFile:filepath];
NSLog(@"lookdict == %@",lookdict);
原文:http://www.cnblogs.com/moxuexiaotong/p/4918938.html