#pragma mark ————————— 查询文件内容 —————————————
+ (id)fetchPlistFromName:(NSString *)name {
NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *path=[paths objectAtIndex:0];
NSLog(@"path = %@",path);
NSString *allNmme = [NSString stringWithFormat:@"%@.plist",name];
NSString *filename=[path stringByAppendingPathComponent:allNmme];
id arr = [NSMutableArray arrayWithContentsOfFile:filename];
NSLog(@"查询结果=%@=",arr);
return arr;
}
#pragma mark ————————— 写入 —————————————
+ (BOOL)addplistFromName:(NSString *)name data:(id)data {
NSLog(@"写入plist=%@=",data);
//1. 创建一个plist文件
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *path = [paths objectAtIndex:0];
NSLog(@"path = %@",path);
NSString *allNmme = [NSString stringWithFormat:@"%@.plist",name];
NSString *filename=[path stringByAppendingPathComponent:allNmme];
if ([self isPlistFileExists:name]==YES) {
// 获取旧数据 新数据组合写入
NSMutableArray *farr = [NSMutableArray array];
farr = [self fetchPlistFromName:name];
if (farr.count > 0) {
// 查询后结果 添加上数据
[farr addObject:data];
NSLog(@"有原始数据 = %@",farr);
return [farr writeToFile:filename atomically:YES];
}else{
NSLog(@"无原始数据 = %@",farr);
NSMutableArray *arrall = [NSMutableArray array];
[arrall addObject:data];
return [arrall writeToFile:filename atomically:YES];
}
}else{
NSFileManager* fm = [NSFileManager defaultManager];
// 创建plist
[fm createFileAtPath:filename contents:nil attributes:nil];
// 写入plist
NSMutableArray *arrall = [NSMutableArray array];
[arrall addObject:data];
return [arrall writeToFile:filename atomically:YES];
}
}
#pragma mark ————————— 删除单个 —————————————
+ (void)delFromName:(NSString *)name index:(NSUInteger)index {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *path = [paths objectAtIndex:0];
NSLog(@"path = %@",path);
NSString *allNmme = [NSString stringWithFormat:@"%@.plist",name];
NSString *filename=[path stringByAppendingPathComponent:allNmme];
if ([self isPlistFileExists:name]==YES) {
// 获取旧数据 新数据组合写入
NSMutableArray *farr = [NSMutableArray array];
farr = [self fetchPlistFromName:name];
// 查询后结果 添加上数据
[farr removeObjectAtIndex:index];
[farr writeToFile:filename atomically:YES];
}else{
}
}
#pragma mark ————————— 判断沙盒中名为plistname的文件是否存在 —————————————
+ (BOOL) isPlistFileExists:(NSString *)name{
NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *path=[paths objectAtIndex:0];
NSLog(@"path = %@",path);
NSString *allNmme = [NSString stringWithFormat:@"%@.plist",name];
NSString *filename=[path stringByAppendingPathComponent:allNmme];
NSFileManager *fileManager = [NSFileManager defaultManager];
if([fileManager fileExistsAtPath:filename] == NO) {
NSLog(@"plistname的文件 NO 存在");
return NO;
}else{
NSLog(@"plistname的文件存在");
return YES;
}
}
#pragma mark ————————— 删除文件 —————————————
+ (BOOL)deletePlistFromPlistNmame:(NSString *)name {
NSString *allNmme = [NSString stringWithFormat:@"%@.plist",name];
//清除plist文件,可以根据我上面讲的方式进去本地查看plist文件是否被清除
NSFileManager *fileMger = [NSFileManager defaultManager];
NSString *xiaoXiPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]stringByAppendingPathComponent:allNmme];
//如果文件路径存在的话
BOOL bRet = [fileMger fileExistsAtPath:xiaoXiPath];
if (bRet) {
NSLog(@"清空了屏蔽");
NSError *err;
BOOL remove = [fileMger removeItemAtPath:xiaoXiPath error:&err];
return remove;
}else{
NSLog(@"不存在");
return YES;
}
}