iOS 操作 plist

关键代码如下:

– (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);//直接打印数据。

}

 

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注