美文网首页iOS随笔小记
iOS随笔小记--归档存储数据

iOS随笔小记--归档存储数据

作者: 七一小月 | 来源:发表于2017-06-23 14:17 被阅读10次
    利用归档存储数据
    方法:缓存数据

    /**
    @param object 数据
    @param key key值

    +(void)cacheObject:(id)object forKey:(NSString *)key;
    
    实现:
    +(void)cacheObject:(id)object forKey:(NSString *)key {
    
    [[NSUserDefaults standardUserDefaults] setObject:object forKey:key];
    }
    
    方法: 获取缓存数据

    /**
    @param key key值
    @return 缓存的数据

    +(id)objectInCacheForKey:(NSString *)key;
    
    实现:
    +(id)objectInCacheForKey:(NSString *)key {
    
    return [[NSUserDefaults standardUserDefaults] objectForKey:key];
    }
    
    方法: 缓存BOOL

    /**
    @param bol YES/NO
    @param key key值

    +(void)cacheBool:(BOOL)bol forKey:(NSString *)key;
    
    实现:
    +(void)cacheBool:(BOOL)bol forKey:(NSString *)key {
    
    [[NSUserDefaults standardUserDefaults] setBool:bol forKey:key];
    }
    
    方法: 获取缓存的BOOL值

    /**

    @param key key值
    @return YES/NO

    +(BOOL)boolInCacheForKey:(NSString *)key;
    
    实现:
    +(BOOL)boolInCacheForKey:(NSString *)key {
    
    return [[NSUserDefaults standardUserDefaults] boolForKey:key];
    }
    
    方法名: 归档,以文件形式存储数据

    /**
    @param object 数据
    @param fileName 文件名

    +(void)archiveRootObject:(id)object toFile:(NSString *)fileName;
    
    实现:
    //存档
    +(void)archiveRootObject:(id)object toFile:(NSString *)fileName {
    
    NSString *filePath = [self filePath:fileName];
    
    [NSKeyedArchiver archiveRootObject:object toFile:filePath];
    
    }
    
    方法: 解档,获取文件内容

    /**
    @param fileName 文件名
    @return 存储在文件中的内容

    +(id)unarchiveObjectWithFile:(NSString *)fileName;
    
    实现:
    //解档
    +(id)unarchiveObjectWithFile:(NSString *)fileName {
        
    NSString *filePath = [self filePath:fileName];
    
    return [NSKeyedUnarchiver unarchiveObjectWithFile:filePath];
    }
    
    方法: 获取文件路径

    /**
    @param fileName 文件名
    @return 文件路径

    +(NSString *)filePath:(NSString *)fileName;
    
    实现:
    +(NSString *)filePath:(NSString *)fileName{
    
    return [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingPathComponent:fileName];
    }
    
    方法: 判断文件是否存在

    /**
    @param fileName 文件名
    @return YES/NO

    +(BOOL)cacheFileExistsAtPath:(NSString *)fileName;
    
    实现:
    +(BOOL)cacheFileExistsAtPath:(NSString *)fileName {
    
    BOOL isExist = NO;
    
    NSFileManager *fileManager = [NSFileManager defaultManager];
    
    if ([fileManager fileExistsAtPath:[self filePath:fileName]]) {
        
        isExist = YES;
        
    }else {
        
        isExist = NO;
    }
    
    return isExist;
    }
    
    方法: 删除路径下指定文件名的文件

    /**
    @param fileName 文件名

    +(void)removeCacheFileAtPath:(NSString *)fileName;
    
    实现:
    +(void)removeCacheFileAtPath:(NSString *)fileName {
    
    if ([YDArchiveCacheManager cacheFileExistsAtPath:fileName]) {
        
        NSFileManager *fileManager = [NSFileManager defaultManager];
        
        NSError *err;
        
        [fileManager removeItemAtPath:[self filePath:fileName] error:&err];
        
    }
    }
    

    相关文章

      网友评论

        本文标题:iOS随笔小记--归档存储数据

        本文链接:https://www.haomeiwen.com/subject/mucccxtx.html