首页 > 代码库 > iOS 开发之 - Plist文件的基本操作
iOS 开发之 - Plist文件的基本操作
plist文件是一个轻量级的数据库,用于存放一些比较小的数据。下面是对plist的基本操作。
新建一个Plist文件
我这里是新建的一个以整体为Array,item是字典的plist文件。
如图:
一般开发中,如果是要操作plist文件的话。都是要把plist文件放到沙盒(Document) 目录下的
先得到资源目录:
//得到资源目录(新建的plist文件)- (NSString *)getDataSourcePath:(NSString *) sourceName andType:(NSString *) fileType{ NSString *path = [[NSBundle mainBundle] pathForResource:sourceName ofType:fileType]; return path;}
得到沙盒 (Document)
//得到documents目录- (NSString *)getDocumentPath:(NSString *) fileName{ //两种获取document路径的方式 // NSString *documents = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documents = [paths objectAtIndex:0]; NSString *path = [documents stringByAppendingPathComponent:fileName]; return path;}
重点:
//得到沙盒plist文件
NSString *documentPath = [self getDocumentPath:@"szPlistDemo.plist"];
//向该Document目录添加数据 1 : 直接写的方式, 2 : 将资源文件 复制到 documents目录下
第一种方法:
// NSError *error;// if ([plistPath writeToFile:documentPath atomically:YES encoding:NSUTF8StringEncoding error:&error]) {// NSLog(@"file write success . ");// }else{// NSLog(@"error = %@",error);// }
第二种:
// 2 :复制到 documents目录下 NSFileManager *manager = [NSFileManager defaultManager]; NSError *error; if ([manager fileExistsAtPath:documentPath]) { NSLog(@"file is exists"); }else{ if ([manager copyItemAtPath:plistPath toPath:documentPath error:&error]) { NSLog(@"file is not exists, copy success!"); }else{ NSLog(@"error = %@",error); return; } }
//像plist中写入数据
//得到资源目录的数据
NSMutableArray *documentData =http://www.mamicode.com/ [[NSMutableArray alloc] initWithContentsOfFile:documentPath]; NSLog(@"documentData = http://www.mamicode.com/%@",documentData); NSDictionary *dic = @{@"age":@"25",@"phone_num":@"1328820394"}; [documentData addObject:dic];
//写入文件
[documentData writeToFile:documentPath atomically:YES];
//删除plist文件
这里我用了一个按钮,点击按钮删除plist文件
NSError *error; NSFileManager *fileManager = [NSFileManager defaultManager]; if ([fileManager removeItemAtPath:documentPath error:&error]) { NSLog(@"remove success!"); }else{ NSLog(@"error = %@",error); }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。