关闭

在开发项目中用到的数据缓存,这里是用的是 NSKeyedArchiver

115人阅读 评论(0) 收藏 举报
分类:

这里就不讲废话了,直接上代码,有啥不明白的地方,请留言

// 这里是数据的存入,data 这个是数组对象,也可以为字典,看需求,path这里是你给这个存储文件取的名字

- (void)saveDatas:(NSArray *)data
{
    
   
    // 获取cache
    NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
    
    // 获取文件的全路径
    NSString *filePath = [cachePath stringByAppendingPathComponent:@“xxx.data”];
    
    // 把自定义对象归档
    [NSKeyedArchiver archiveRootObject:data toFile:filePath];
    
    [UserInfo shareUser].paths = allPath;
    
}

// 这里读取对象数据,返回的是你存入的那个数组

- (NSArray *)readDatas
{
    // 获取cache
    NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
    
    // 获取文件的全路径
    
    NSString *filePath = [cachePath stringByAppendingPathComponent:@“xxx.data”];
    
    return  [NSKeyedUnarchiver unarchiveObjectWithFile:filePath];
}


// 删除文件

- (BOOL)deleteAllDatas
{
    // 获取cache
    NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
    
    // 获取文件的全路径
    
    NSString *filePath = [cachePath stringByAppendingPathComponent:@“xxx.data” ];
    
    BOOL exists = [[NSFileManager defaultManager] fileExistsAtPath:filePath];
    if (exists) {
        [[NSFileManager defaultManager] removeItemAtPath:filePath error:nil];
    }
    
    return exists;
}

较简单,希望能帮到大家

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:78462次
    • 积分:1119
    • 等级:
    • 排名:千里之外
    • 原创:35篇
    • 转载:18篇
    • 译文:8篇
    • 评论:15条
    最新评论