代码创建Plist文件
//找到第一个Documents文件夹所在的路径
NSString *cachePatch = NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask, YES)[0];
//把Procucts文件加入
NSString *filePath = [cachePatchstringByAppendingPathComponent:@"products.plist"];
//用NSMutableArray来接收plist里面的文件
NSMutableArray *dataArray = [[NSMutableArrayalloc] initWithContentsOfFile:filePath];
//判断plist存不存在,如果不存在,则创建这个array,否则,后面的文件写入不进去
if (dataArray == nil) {
dataArray = [[NSMutableArray alloc]init];
}
//添加数据
NSMutableDictionary *dict = [NSMutableDictionarydictionary];
[dict setObject:self.str forKey:@"deviceName"];
[dataArray addObject:dict];
//把数据写入Plist文件
[dataArray writeToFile:filePath atomically:YES];
读取Plist文件
(1)新建文件创建plist文件
NSString *path = [[NSBundlemainBundle] pathForResource:@"tabBar"ofType:@"plist"];
NSArray *itemsData = [[NSArray array]initWithContentsOfFile:path];
(2)代码创建的plist文件
NSString *cachePatch=NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask, YES)[0];
NSString *filePath = [cachePatchstringByAppendingPathComponent:@"products.plist"];
//将plist文件中数据转换成数组形式输出(要预先知道plist中数据类型,否则无法读出)
NSMutableArray *listArray = [NSMutableArray arrayWithContentsOfFile:filePath];
删除Plist中某一条数据
NSString *cachePatch = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
NSString *filePath = [cachePatch stringByAppendingPathComponent:@"products.plist"];
NSMutableArray *dataArra= [[NSMutableArray alloc] initWithContentsOfFile:filePath];
[self.listArray removeObjectAtIndex:row];
[self.listArray writeToFile:filePath atomically:YES];// 写入文件
if (dataArray == nil) {
dataArray = [[NSMutableArray alloc]init];
}
dataArray = [[NSMutableArray alloc] initWithContentsOfFile:filePath];// 重新获取
[self.listArray removeAllObjects];
[self.listArray addObjectsFromArray:dataArray];
[self.collectionView reloadData];