1.下载演示Demo以及SDUserDefaults.
2.把SDUserDefaults文件夹导入你自己的项目合适位置,文件夹中主要包含SDUserDefaults和SDCodingObject两个类.
3.在SDUserDefaults的.h文件中添加你想要存储的属性,这里需要注意的是属性必须是遵循NSCoding协议的类,Foundation中的类都已经遵循该协议.如下图所示.
这时候有人会问,那我自定义的类需要怎么办?难道我需要自己实现NSCoding协议中的**- (void)encodeWithCoder和- (instancetype)initWithCoder方法吗?完全不需要!你需要继承于SDCodingObject**这个类即可,我在其中都做了NSCoding协议的实现,并且所有的属性都会进行归档操作.例如上图的TestModel类.代码如下所示.
4.存储数据:只需要我们把对应的属性进行赋值,然后调用saveUserInfoAction方法即可.代码如下所示.
[SDUserDefaults standardUserDefaults].name = @"用户数据";
TextModel *testModel = [[TextModel alloc] init];
testModel.name = @"*栋";
testModel.age = @(15);
testModel.location = @"北京";
[SDUserDefaults standardUserDefaults].testModel = testModel;
[[SDUserDefaults standardUserDefaults] saveUserInfoAction]; // 存储数据
5.获取数据:直接取值就好,简单粗暴,没有任何问题.代码如下所示.
/*****获取数据*****/
NSLog(@"%@",[SDUserDefaults standardUserDefaults].name);
NSLog(@"%@",[SDUserDefaults standardUserDefaults].testModel.name);
NSLog(@"%@",[SDUserDefaults standardUserDefaults].testModel.age);
NSLog(@"%@",[SDUserDefaults standardUserDefaults].testModel.location);
6.删除数据:想要删除数据直接调用deleteUserInfo即可.
[[SDUserDefaults standardUserDefaults] deleteUserInfo];
7.更新数据:想要删除的话,就把那个属性置为nil,想要修改某个属性就把那个属性修改,最后调用saveUserInfoAction方法保存即可.
[SDUserDefaults standardUserDefaults].name = @"新的用户数据";
[SDUserDefaults standardUserDefaults].testModel.location = nil;
[[SDUserDefaults standardUserDefaults] saveUserInfoAction]; // 更新数据
SDUserDefaults交流反馈QQ群: 214575341