NSUserDefaults的使用

本文介绍了在iOS应用中如何使用NSUserDefaults进行简单的数据存储,并详细讲解了自定义类对象的归档与反归档过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[[NSUserDefaults standardUserDefaults] setObject:Year.titleLabel.text forKey:@"Year"];

[Year setTitle:[[NSUserDefaults standardUserDefaults] objectForKey:@"Year"] forState:UIControlStateNormal];



如果存储的数据是自定义类的对象,那么需要归档和反归档


1.首先在自定义的类中实现<NSCoding>协议中的- (id) initWithCoder: (NSCoder *)coder方法和- (void) encodeWithCoder: (NSCoder *)coder方法

- (id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super init];
    
    self = [aDecoder decodeObjectForKey:@"userInfoData"];

    return self;
}

- (void)encodeWithCoder:(NSCoder *)aCoder
{
    [aCoder encodeObject:self forKey:@"userInfoData"];

}





2.存

NSDictionary *dicUserInfoData = (NSDictionary *)userInfoModel.data;
NSData *dataUserInfoData = [NSKeyedArchiver archivedDataWithRootObject:dicUserInfoData];
[[NSUserDefaults standardUserDefaults] setObject:dataUserInfoData forKey:@"userInfoModel_data"];


3.取

NSData *dataUserInfoData0 = [[NSUserDefaults standardUserDefaults] objectForKey:@"userInfoModel_data"];
NSDictionary *dicUserInfoData0 = (NSDictionary *)[NSKeyedUnarchiver unarchiveObjectWithData:dataUserInfoData0];
    
UserInfoUserInfoModel *userInfoModel0 = [[UserInfoUserInfoModel alloc] init];
userInfoModel0.data = (UserInfoData *)dicUserInfoData0;
    
UserInfoData *data = userInfoModel0.data;
    
[userInfoModel0 release];

return data;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值