美文网首页
个人信息储存

个人信息储存

作者: 滴滴滴开门 | 来源:发表于2022-01-19 12:02 被阅读0次

记录当自己参考的。

先创建一个继承NSObject的User文件。
然后声明要保存的名称,比如

@interface User : NSObject

@interface User : NSObject

@property(strong,nonatomic)NSString *User_address;//地址
@property(strong,nonatomic)NSString *User_contractInfo;
@property(strong,nonatomic)NSString *User_email;//邮件
@property(strong,nonatomic)NSString *User_googleState;//
@property(strong,nonatomic)NSString *User_headUrl;//头像
@property(strong,nonatomic)NSString *User_id;//用户id
@property(strong,nonatomic)NSString *User_mobile;//用户手机
@property(strong,nonatomic)NSString *User_payStatus;//用户支付状态
@property(strong,nonatomic)NSString *User_powerStatus;//
@property(strong,nonatomic)NSString *User_realName;//
@property(strong,nonatomic)NSString *User_sex;//用户性别
@property(strong,nonatomic)NSString *User_storeName;//用户店名
@property(strong,nonatomic)NSString *User_token;//用户token
@property(strong,nonatomic)NSString *User_type;//
@property(strong,nonatomic)NSString *User_username;//用户手机号

@property(strong,nonatomic)NSString *country_areaCode;//国家地区区号
@property(strong,nonatomic)NSString *country_enName;//国家名字英文
@property(strong,nonatomic)NSString *country_id;//国家id
@property(strong,nonatomic)NSString *country_language;//国家语言
@property(strong,nonatomic)NSString *country_localCurrency;//国家币种
@property(strong,nonatomic)NSString *country_sort;//国家sort
@property(strong,nonatomic)NSString *country_zhName;//国家名字中文

  • (instancetype)initWithDictionary:(NSDictionary *)dictionary;
    @end
    @interface UserManager : NSObject

/**
存储用户信息
@param dic 服务器获取来的用户信息字典
@return <#return value description#>
*/

  • (BOOL)saveUserInfo:(NSDictionary *)dic;

/**
取用户信息
@return 返回用户信息模型
*/

  • (User *)userInfo;

/**
清空用户信息
@return <#return value description#>
*/

  • (BOOL)clearUserInfo;

@end

在.m文件就
@implementation User

  • (instancetype)initWithDictionary:(NSDictionary *)dictionary
    {
    if ([dictionary isKindOfClass:[NSDictionary class]])
    {
    if (self = [super init])
    {
    [self setValuesForKeysWithDictionary:dictionary];
    }
    }
    return self;
    }

  • (void)setValue:(id)value forKey:(NSString *)key
    {
    if ([value isKindOfClass:[NSNull class]])
    {
    return;
    }
    [super setValue:value forKey:key];
    }

pragma mark ————————— 对未定义key的处理方法 —————————————

  • (void)setValue:(id)value forUndefinedKey:(NSString *)key
    {
    // id 变量名现在可以直接使用,比如你要将服务器的 id 转成 userid
    if([key isEqualToString:@"id"])
    {
    // self.userid = value;
    // return;
    }

}
@end
@implementation UserManager

  • (BOOL)saveUserInfo:(NSDictionary *)dic
    {
    return [NSKeyedArchiver archiveRootObject:dic toFile:[self path]];
    }

  • (User *)userInfo
    {
    id data = [NSKeyedUnarchiver unarchiveObjectWithFile:[self path]];
    User *model = [[User alloc]initWithDictionary:data];
    return model;
    }

  • (BOOL)clearUserInfo
    {
    NSFileManager *defaultManager = [NSFileManager defaultManager];
    if ([defaultManager isDeletableFileAtPath:[self path]])
    {
    //删除归档文件
    return [defaultManager removeItemAtPath:[self path] error:nil];
    }
    else
    {
    return NO;
    }
    }

/**
Documents/ 保存应用程序的重要数据文件和用户数据文件等。用户数据基本上都放在这个位置(例如从网上下载的图片或音乐文件),该文件夹在应用程序更新时会自动备份,在连接iTunes时也可以自动同步备份其中的数据。

Library:这个目录下有两个子目录,可创建子文件夹。可以用来放置您希望被备份但不希望被用户看到的数据。该路径下的文件夹,除Caches以外,都会被iTunes备份.

Library/Caches: 保存应用程序使用时产生的支持文件和缓存文件(保存应用程序再次启动过程中需要的信息),还有日志文件最好也放在这个目录。iTunes 同步时不会备份该目录并且可能被其他工具清理掉其中的数据。
Library/Preferences: 保存应用程序的偏好设置文件。NSUserDefaults类创建的数据和plist文件都放在这里。会被iTunes备份。

@return <#return value description#>
*/
+(NSString *)path
{
// // 获取沙盒根目录路径
// NSString *homeDir = NSHomeDirectory();
// // 获取Documents目录路径
// NSString *docDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES) firstObject];
// //获取Library的目录路径
// NSString *libDir = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES) lastObject];
// // 获取cache目录路径
// NSString *cachesDir = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES) firstObject];
// // 获取tmp目录路径
NSString *tmpDir = NSTemporaryDirectory();
// // 获取应用程序程序包中资源文件路径的方法:
// NSString *bundle = [[NSBundle mainBundle] bundlePath];

NSString *name = @"userinfo";
NSString *type = @"sql";

NSString *allName = [NSString stringWithFormat:@"%@.%@",name,type];

return [tmpDir stringByAppendingPathComponent:allName];;

}

@end

对这个进行使用

[UserManager saveUserInfo:@{@"User_address":Userdic[@"address"]}];


User *model = [UserManager userInfo];
NSLog(@"===%@",model.User_address);

相关文章

  • 个人信息储存

    记录当自己参考的。 先创建一个继承NSObject的User文件。然后声明要保存的名称,比如 @interface...

  • 个人信息储存网络有风险

    成都一储户林某存储于网络的个人信息被罪犯王某获取,并利用软件破解了林某的银行卡密码,从而通过银行“e支付”业务从林...

  • 超详细的mysql总结(基本概念、DDL、DML)

    开发中存在着各种数据,比如用户的个人信息、商品详情、购买记录,这些数据都要以一定的方式储存,如果以文本的形式储存,...

  • Tagelf隐私政策 (Google Play)

    Tagelf 隐私政策 我们不会收集及以任何形式储存来自你社交网络的任何咨询或销售给广告或其它营运机构。 个人信息...

  • ForU 隐私政策 (Google Play)

    ForU 隐私政策 我们不会收集及以任何形式储存来自你社交网络的任何咨询或销售给广告或其它营运机构。 个人信息 当...

  • 隐私政策

    隐私政策 我们不会收集及以任何形式储存来自你社交网路的任何资讯或销售给广告或其它营运机构。 个人信息 当你透过社交...

  • 2018-10-19

    隐私政策 我们不会收集及以任何形式储存来自你社交网络的任何资讯或销售给广告或其它营运机构。 个人信息 当你透过社交...

  • 隐私声明

    隐私政策 我们不会收集及以任何形式储存来自你社交网路的任何资讯或销售给广告或其它营运机构。 个人信息 当你透过社交...

  • 弹力方块iOS - 隐私声明

    隐私政策 我们不会收集及以任何形式储存来自你社交网路的任何资讯或销售给广告或其它营运机构。 个人信息 当你透过社交...

  • 隐私政策声明

    隐私政策 我们不会收集及以任何形式储存来自你社交网路的任何资讯或销售给广告或其它营运机构。 个人信息 当你透过社交...

网友评论

      本文标题:个人信息储存

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