关于封装了几个NSUserDefault方法


#import <Foundation/Foundation.h>

// 帮助类,系统记住上回登录的用户名,实现自动登录功能

@class MyPerson;

@interface FileHandle : NSObject

// 单例
+ (FileHandle *)shareInstance;

// 同步
- (void)synchronize;

// 设置用户信息
- (void)setLoginState:(BOOL)isLogin;
- (void)setUsername:(NSString *)username;
- (void)setPassword:(NSString *)password;
- (void)setEmail:(NSString *)email;
- (void)setheadIcon:(NSString *)iconUrl;

// 删除用户
- (void)deleteUser;


//获取用户信息
- (BOOL)loginState;
- (NSString *)username;
- (NSString *)password;
- (NSString *)emailAddress;
- (NSString *)headIcon;
- (MyPerson *)person;

// caches路径
- (NSString *)cachesPath;

// 数据库存储路径
- (NSString *)databaseFilePath:(NSString *)databaseName;


// 计算文件大小
- (float)fileSize;

// 清除缓存
- (void)cleanSaveImages;

@end




#import "FileHandle.h"

#import "MyPerson.h"

@implementation FileHandle

// 单例
+ (FileHandle *)shareInstance {
    
    static FileHandle *helper = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        helper = [[FileHandle alloc] init];
    });
    return helper;
}

// 同步
- (void)synchronize {
    
    [[NSUserDefaults standardUserDefaults] synchronize];
}

// 设置用户信息
// 用户是否登录
- (void)setLoginState:(BOOL)isLogin {
    
    [[NSUserDefaults standardUserDefaults] setBool:isLogin forKey:TLoginState];
    
}
// 用户名
- (void)setUsername:(NSString *)username {
    
    [[NSUserDefaults standardUserDefaults] setObject:username forKey:TUserName];
}
// 用户密码
- (void)setPassword:(NSString *)password {
    
    [[NSUserDefaults standardUserDefaults] setObject:password forKey:TPassword];
    
}
// 用户emailed
- (void)setEmail:(NSString *)email {
    
    [[NSUserDefaults standardUserDefaults] setObject:email forKey:TEmailAddress];
    
}

// 用户头像
- (void)setheadIcon:(NSString *)iconUrl {
    
    [[NSUserDefaults standardUserDefaults] setObject:iconUrl forKey:THeadIcon];
    
}


// 删除用户,也就是退出登录
- (void)deleteUser{
    
    NSUserDefaults *userDefatluts = [NSUserDefaults standardUserDefaults];
    NSDictionary *dictionary = [userDefatluts dictionaryRepresentation];
    for(NSString* key in [dictionary allKeys]){
        [userDefatluts removeObjectForKey:key];
        [userDefatluts synchronize];
    }
    
}

//获取用户信息
- (BOOL)loginState {
    
    return [[NSUserDefaults standardUserDefaults] boolForKey:TLoginState];
}
- (NSString *)username {
    
    return [[NSUserDefaults standardUserDefaults] objectForKey:TUserName];
    
}
- (NSString *)password {
    return     [[NSUserDefaults standardUserDefaults] objectForKey:TPassword];
    
}
- (NSString *)emailAddress {
    return     [[NSUserDefaults standardUserDefaults] objectForKey:TEmailAddress];
}

- (NSString *)headIcon {
    
    return [[NSUserDefaults standardUserDefaults] objectForKey:THeadIcon];
}

// 获取用户
- (MyPerson *)person {
    
    MyPerson * user = [[MyPerson alloc] init];
    user.username = [self username];
    user.password = [self password];
    user.emailAddress = [self emailAddress];
    user.isLogin = YES;
    
    return user;
    
}

// 计算单个文件的大小
-(float)fileSizeAtPath:(NSString*)filePath{
    
    NSFileManager *fileManager = [NSFileManager defaultManager];
    
    BOOL isExist = [fileManager fileExistsAtPath:filePath];
    
    if(isExist){
        
        long long fileSize=[[fileManager attributesOfItemAtPath:filePath error:nil]fileSize];
        
        return fileSize / 1024.0 / 1024.0;
        
    }else{
        
        
        return 0;
        
    }
    
}


// 计算缓存目录大小
- (float)fileSize {
    
//    NSString *bookImageFilePath = [self saveImageFilePath];
//    
//    NSFileManager *fileManager = [NSFileManager defaultManager];
//    
//    BOOL isExist = [fileManager fileExistsAtPath:bookImageFilePath];
//    
//    if(isExist){
//        
//        NSArray *childFileArray = [fileManager subpathsAtPath:bookImageFilePath];
//        
//        float folderSize = 0;
//        
//        for (NSString *fileName in childFileArray){
//            
//            NSString *fileAbsolutePath =[bookImageFilePath stringByAppendingPathComponent:fileName];
//            
//            folderSize += [self fileSizeAtPath:fileAbsolutePath];
//            
//        }
//        
//        folderSize += [[SDImageCache sharedImageCache] getSize]  / 1024.0 / 1024.0;
//        
//        return folderSize;
//        
//    }
//
    
    return ([[SDImageCache sharedImageCache] getSize]  / 1024.0 / 1024.0);
}


// 清除缓存(清除sdWebImage的缓存)
- (void)cleanSaveImages {
    
    SDWebImageManager *manger = [SDWebImageManager sharedManager];
    [manger cancelAll];
    [manger.imageCache clearDisk];
    [manger.imageCache clearMemory];
    
}

// **************************************************************
//cache路径
- (NSString *)cachesPath
{
    return  [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) lastObject];
}
// **************************************************************
// 数据库存储路径
- (NSString *)databaseFilePath:(NSString *)databaseName
{
    
    return [[self cachesPath] stringByAppendingPathComponent:databaseName];
}


@end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值