常用归档

作者: YvanLiu | 来源:发表于2017-03-27 18:07 被阅读7次
1).h文件中

#define USER_ID         @"userid"
#define USER_NAME       @"username"
#define USER_BIRTHDAY   @"userbirthday"
#define USER_SEX        @"usersex"
#define USER_AVATAR     @"useravatar"
---------------------
@property (copy, nonatomic) NSString *userID;
@property (copy, nonatomic) NSString *userName;
@property (copy, nonatomic) NSString *userSex;
@property (copy, nonatomic) NSString *userBirthday;
@property (copy, nonatomic) NSString *userAvatar;
---------------------

/**
 *  归档单例
 *
 *  @return loginManager
 */
+ (instancetype)shareManager;

/**
 *  保存数据
 */
- (void)saveManager;
2).m文件中
static YFLoginManager *manager = nil;
- (instancetype)initWithCoder:(NSCoder *)aDecoder {
    
    if (self = [super init]) {
        self.userID         = [aDecoder decodeObjectForKey:USER_ID];
        self.userName       = [aDecoder decodeObjectForKey:USER_NAME];
        self.userSex        = [aDecoder decodeObjectForKey:USER_SEX];
        self.userBirthday   = [aDecoder decodeObjectForKey:USER_BIRTHDAY];
        self.userAvatar     = [aDecoder decodeObjectForKey:USER_AVATAR];
    }
    return self;
}

- (void)encodeWithCoder:(NSCoder *)aCoder {
    
    [aCoder encodeObject:self.userID forKey:USER_ID];
    [aCoder encodeObject:self.userName forKey:USER_NAME];
    [aCoder encodeObject:self.userSex forKey:USER_SEX];
    [aCoder encodeObject:self.userAvatar forKey:USER_AVATAR];
    [aCoder encodeObject:self.userBirthday forKey:USER_BIRTHDAY];
    
}

+ (instancetype)shareManager {
    if (!manager) {
        [self read];
        if (!manager) {
            manager = [[self alloc]init];
        }
    }
    return manager;
}

+ (YFLoginManager *)read {
    NSString *filename = [NSHomeDirectory() stringByAppendingString:@"/Library/Caches/loginManager.dat"];
    YFLoginManager *loginManager = [NSKeyedUnarchiver unarchiveObjectWithFile:filename];
    return loginManager;
}
- (void)saveManager {
    NSString *filename = [NSHomeDirectory() stringByAppendingString:@"/Library/Caches/loginManager.dat"];
    [NSKeyedArchiver archiveRootObject:self toFile:filename];
}

相关文章

  • adb 脚本

    常用adb命令归档

  • 常用归档

    1).h文件中 2).m文件中

  • Linux常用命令(二)

    文件归档、打包压缩命令:rar 缺省仅仅打包归档,不进行文件压缩 常用选项参数: "-c"创建归档文件包 "-x"...

  • Linux之tar命令 文件存档

    用法 功能 将多个文件或目录归档在一起形成一个归档文件,也能将一个归档文件复原。 常用选项 -c 创建一个归档文...

  • 如何让通用的Xcode归档(generic Xcode arch

    如何让通用的Xcode归档(generic Xcode archive)更改为常用的app归档 你终于把代码调好了...

  • iOS常用数据存储方式

    常用方式: 1、plist 2、NSUserDefault 3、NSKeyedArchiver归档 4、FMDB ...

  • Linux命令--tar

    主要功能 用于归档或者解压归档文件 常用用法 解压.tar.gz文件 tar -zxvf fileName.ta...

  • UI控件进阶3——数据存储

    数据存储 iOS应用数据存储的常用方式?XML属性列表(plist)归档(归档:用某种格式来保存一个或者多个对象,...

  • iOS archive(归档)的总结

    iOS 归档的记录 归档是一种很常用的文件储存方法,几乎任何类型的对象都能够被归档储存(实际上是一种文件保存的形式...

  • Objective-C 基础

    iOS常用存储方式: XML属性列表(plist)归档; Preference(偏好设置); NSKeyedArc...

网友评论

    本文标题:常用归档

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