您的位置:首页 > 移动开发 > IOS开发

iOS存储数据字典到沙盒

2016-03-25 18:03 417 查看
1.创建一个账号数据模型 用来存放从服务器返回的数据,一般返回的是一个字典,里面包含了这个登陆用户的各种信息,这个数据模型就是用来存放这些东西的

创建一个数据模型 YYCAccount 继承 NSObject 注意要遵守<NSCoding>协议

YYCAccount.h文件中代码 这里面字段根据返回的数据写,一般写能用的上的就行了,不需要的不用写

#import "YYCAccountTool.h"

//账号信息存储路径
#define YYCAccountPath [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:@"account.archive"]

@implementation YYCAccountTool
/**
*  存储账号信息
*
*  @param account 账号模型
*/
+(void)saveAccount:(YYCAccount *)account
{

//将一个对象写入沙盒 需要用到一个NSKeyedArchiver 自定义对象的存储必须用这个
[NSKeyedArchiver archiveRootObject:account toFile:YYCAccountPath];
}

/**
*  返回账号信息
*
*  @return 账号模型(如果账号过期,我们会返回nil)
*/
+(YYCAccount *)account
{
//加载模型
YYCAccount *account=[NSKeyedUnarchiver unarchiveObjectWithFile:YYCAccountPath];

return account;

}

/**
*  删除账号信息
*
*  @return <#return value description#>
*/
+(BOOL)deleteAccount
{
return [[NSFileManager defaultManager] removeItemAtPath:YYCAccountPath error:nil];

}

@end


View Code

3.当我们的使用的使用的时候怎么使用呢?

存储数据 用一个字典接收服务器返回的数据 是一个字典

NSDictionary *data=dict[@"data"];

将返回的数据存进沙盒 这种方法必须是返回的data里的信息全都有值 为空的会崩,要判断一下

将返回的账户数据存进沙盒 应该将返回的字典数据转为模型 再存进沙盒

//转化为数据模型 直接调用数据模型里的加载字典的那个方法即可

YYCAccount *account=[YYCAccount AccountStatusWithDict:data];

//存储账号信息 直接导入账号工具类的头文件直接这样写即可:

[YYCAccountTool saveAccount:account];

获取账号信息

//获取用户信息账号模型

//YYCAccount *account=[YYCAccountTool account];

想要什么数据就直接account.就出来了

//删除所有账户信息 退出登录的时候执行的操作

[YYCAccountTool deleteAccount];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: