关键代码如下:
– (void)viewDidLoad
{
[super viewDidLoad];
/**********简单的plist文件**********/
//获取路径对象
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
//获取完整路径
NSString *path = [paths objectAtIndex:0];
NSLog(@”path = %@”,path);//点击finder—shift+command+G—把地址粘贴进去—回车
NSString *filename = [path stringByAppendingPathComponent:@”gdcool.plist”];
NSMutableDictionary *dic = [[NSMutableDictionary alloc] init];
//设置属性值
[dic setObject:@”张三” forKey:@”name”];
[dic setObject:@”26″ forKey:@”age”];
[dic setObject:@”男” forKey:@”sex”];
//写入文件
[dic writeToFile:filename atomically:YES];
/**********多键值的plist文件**********/
//获取路径对象
NSArray *paths2 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
//获取完整路径
NSString *documentsDirectory = [paths2 objectAtIndex:0];
NSString *plistPath = [documentsDirectory stringByAppendingPathComponent:@”gdcool2.plist”];
NSMutableDictionary *dictplist = [[NSMutableDictionary alloc ] init];
//定义第一个插件的属性
NSMutableDictionary *plugin1 = [[NSMutableDictionary alloc]init];
[plugin1 setObject:@”张三” forKey:@”name1″];
[plugin1 setObject:@”李四” forKey:@”name2″];
//定义第二个插件的属性
NSMutableDictionary *plugin2 = [[NSMutableDictionary alloc]init];
[plugin2 setObject:@”王五” forKey:@”name1″];
[plugin2 setObject:@”赵斌” forKey:@”name2″];
//设置属性值
[dictplist setObject:plugin1 forKey:@”初一班”];
[dictplist setObject:plugin2 forKey:@”初二班”];
//写入文件
[dictplist writeToFile:plistPath atomically:YES];
[self updateDic1];
[self updateDic2];
[self showData];
}
//针对简单的plist文件进行修改
-(void)updateDic1{
NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]stringByAppendingPathComponent:@”gdcool.plist”];
NSMutableDictionary *applist = [[[NSMutableDictionary alloc]initWithContentsOfFile:path]mutableCopy];
NSString *name = [applist objectForKey:@”name”];
name = @”山山”;
[applist setObject:name forKey:@”name”];
[applist writeToFile:path atomically:YES];
}
//针对多键值的plist文件进行修改
-(void)updateDic2{
NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]stringByAppendingPathComponent:@”gdcool2.plist”];
//根据路径获取test.plist的全部内容
NSMutableDictionary *infolist= [[[NSMutableDictionary alloc]initWithContentsOfFile:path]mutableCopy];
//获取初一班的信息
NSMutableDictionary *info = [infolist objectForKey:@”初一班”];
NSString *name1 = [info objectForKey:@”name1″];
name1 = @”山山”;
[info setValue:name1 forKey:@”name1″];
[infolist setValue:info forKey:@”初一班”];
[infolist writeToFile:path atomically:YES];
}
//读取plist
-(void)showData{
//读取plist
//获取路径对象
NSArray *paths2 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
//获取完整路径
NSString *documentsDirectory = [paths2 objectAtIndex:0];
NSString *plistPath = [documentsDirectory stringByAppendingPathComponent:@”gdcool2.plist”];
NSMutableDictionary *data = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];
NSLog(@”%@”, data);//直接打印数据。
}