iOS 持久化存储-沙盒文件增删查
来源:互联网 发布:excel显示无法粘贴数据 编辑:程序博客网 时间:2024/06/07 02:37
#pragma mark ————————— 查询文件内容 —————————————
+ (id)fetchPlistFromName:(NSString *)name {
NSArray *paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *path=[paths objectAtIndex:0];
NSLog(@"path = %@",path);
NSString *allNmme = [NSStringstringWithFormat:@"%@.plist",name];
NSString *filename=[pathstringByAppendingPathComponent:allNmme];
id arr = [NSMutableArrayarrayWithContentsOfFile: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 = [NSStringstringWithFormat:@"%@.plist",name];
NSString *filename=[pathstringByAppendingPathComponent:allNmme];
if ([selfisPlistFileExists:name]==YES) {
// 获取旧数据 新数据组合写入
NSMutableArray *farr = [NSMutableArrayarray];
farr = [self fetchPlistFromName:name];
if (farr.count >0) {
// 查询后结果 添加上数据
[farr addObject:data];
NSLog(@"有原始数据 = %@",farr);
return [farr writeToFile:filename atomically:YES];
}else{
NSLog(@"无原始数据 = %@",farr);
NSMutableArray *arrall = [NSMutableArrayarray];
[arrall addObject:data];
return [arrall writeToFile:filename atomically:YES];
}
}else{
NSFileManager* fm = [NSFileManagerdefaultManager];
// 创建plist
[fm createFileAtPath:filenamecontents:nilattributes:nil];
// 写入plist
NSMutableArray *arrall = [NSMutableArrayarray];
[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 = [NSStringstringWithFormat:@"%@.plist",name];
NSString *filename=[pathstringByAppendingPathComponent:allNmme];
if ([selfisPlistFileExists:name]==YES) {
// 获取旧数据 新数据组合写入
NSMutableArray *farr = [NSMutableArrayarray];
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 = [NSStringstringWithFormat:@"%@.plist",name];
NSString *filename=[pathstringByAppendingPathComponent:allNmme];
NSFileManager *fileManager = [NSFileManagerdefaultManager];
if([fileManager fileExistsAtPath:filename] == NO) {
NSLog(@"plistname的文件 NO 存在");
return NO;
}else{
NSLog(@"plistname的文件存在");
return YES;
}
}
#pragma mark ————————— 删除文件 —————————————
+ (BOOL)deletePlistFromPlistNmame:(NSString *)name {
NSString *allNmme = [NSStringstringWithFormat:@"%@.plist",name];
//清除plist文件,可以根据我上面讲的方式进去本地查看plist文件是否被清除
NSFileManager *fileMger = [NSFileManagerdefaultManager];
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;
}
}
- iOS 持久化存储-沙盒文件增删查
- [iOS]数据持久化-沙盒存储
- iOS 沙盒机制 持久存储 读写文件 NSFileManager
- IOS持久化存储
- iOS开发-plist文件增删改查
- iOS开发-plist文件增删改查
- iOS Plist文件,增删改查
- iOS plist文件的增删查改
- IOS开发--数据持久化篇之文件存储(一)
- IOS开发--数据持久化篇之文件存储(二)
- iOS文件使用总结(数据持久化存储)
- ios 数据持久化存储
- iOS数据持久化存储
- iOS 数据持久化存储
- ios本地持久化存储
- MyBatis数据持久化(三)增删改查
- Android持久化存储----文件
- 持久化存储--1、文件存储
- 手动&&工具开发动态资源
- K-Means原理分析以及其变种算法
- 基于字符的卷积神经网络实现文本分类(char-level CNN)-论文详解及tensorflow实现
- linux 定时任务
- 【数据结构】B树、B+树与B*树详解
- iOS 持久化存储-沙盒文件增删查
- CString与char *互转总结
- Gradle错误总结
- 求0个数--给定一个整数N,那么N的阶乘N!末尾有多少个0呢?
- oracle 新建用户,删除用户操作
- Oracle 建立同义词
- alter table move跟shrink space的区别
- IDEA 快捷键
- PBOC规范研究之一、ISO14443协议和PBOC关于CID的约定