plist 全名 Property List,属性列表文件,它是一种用来存储串行化后的对象的文件,属性列表文件的扩展名为 .plist ,因此通常被称为 plist文件。文件是xml格式的。plist文件 通常用于储存用户设置,也可以用于存储捆绑的信息
创建 plist 文件的方式
1> 右键 New File
1> 创建出来的 plist,可以直接点击添加新列
2> 可直接通过文件操作创建 plist 文件
3> 读取 plist 中的信息
NSString
*plistPath = [[NSBundle
mainBundle]
pathForResource:@"test"
ofType:@"plist"];
//
通过文件名
和
扩展名获取文件路径
NSMutableDictionary
*data = [[NSMutableDictionary
alloc]
initWithContentsOfFile:plistPath];//
读取路径文件中的信息
3> 向 plist文件中写入信息
NSMutableDictionary
*data = [[NSMutableDictionary
alloc]
init];//
读取路径文件中的信息
[data
setObject:@"value_a"
forKey:@"key_a"];
[data
setObject:@"value_b"
forKey:@"key_b"];
[data
setObject:@"value_c"
forKey:@"key_c"];
//
获取应用程序沙盒的Documents目录
NSArray
*paths =
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask,
YES);
NSString
*plistPath1 = [paths
objectAtIndex:0];
//
得到完整的文件名
NSString
*filename = [plistPath1
stringByAppendingPathComponent:@"test123456.plist"];
[data
writeToFile:filename
atomically:YES];
//
读取文件中的信息就可以判断是否文件操作成功
NSMutableDictionary
*data1 = [[NSMutableDictionary
alloc]
initWithContentsOfFile:filename];
NSLog(@"%@",
data1);
4> 修改 plist文件中的信息
//
获取应用程序沙盒的Documents目录
NSArray
*paths =
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask,
YES);
NSString
*plistPath1 = [paths
objectAtIndex:0];
//
得到完整的文件名
NSString
*filename = [plistPath1
stringByAppendingPathComponent:@"test123456.plist"];
NSMutableDictionary
*data = [[NSMutableDictionaryalloc]
initWithContentsOfFile:filename];//
读取路径文件中的信息
//设置属性值,没有的数据就新建,已有的数据就修改
[[data
objectForKey:@"users"]
setObject:@"逗比"forKey:@"name"];
[data
removeObjectForKey:@"key_c"];
//
删除数据
[data
setObject:@"cccccccccccc"forKey:@"key_c"];//
测试时无法直接修改已存在
key
的值,可以先删除再添加方式来修改
[data
writeToFile:filename
atomically:YES];
//
读取文件中的信息就可以判断是否文件操作成功
NSMutableDictionary
*data1 = [[NSMutableDictionaryalloc]
initWithContentsOfFile:filename];
NSLog(@"%@",
data1);