NSUserDefaultsModel
统一管理使用NSUserdefaults保存的值。
博客:https://www.jianshu.com/p/681ef055f716
注意:很多人跟我说以“NS”开头的命名不好,我仔细想了想,确实有待改进,后续的库我会稍加注意。
如何使用
创建一个'NSUserDefaultsModel'的子类,并在.h文件中声明一些属性,比如这样:(创建一个基于NSUserDefaultsModel的子类,并在.h文件里定义一些属性,这些属性用来保存数值的key值)
// .h
@property (nonatomic, copy) NSString *name;
@property (nonatomic, assign) NSInteger gender;
@property (nonatomic, assign) long age;
@property (nonatomic, assign) float floatNumber;
@property (nonatomic, assign) double doubleNumber;
@property (nonatomic, assign) BOOL isMan;
接下来,你必须在这些属性上执行.m文件中的'@dynamic'操作,就像这样:(接下来,必须要在.m当中对每一个属性执行'@dynamic'操作)
// .m
@dynamic name;
@dynamic gender;
@dynamic age;
@dynamic floatNumber;
@dynamic doubleNumber;
@dynamic isMan;
如果你想获取'name'属性,只需使用[Subclass userDefaultsModel].name
。如果你想设置'name'并保存,只需使用[Subclass userDefaultsModel].name = @"nickname"
。(如果想获取'name'这个属性,只需要使用[Subclass userDefaultsModel].name
就行,重置'name',只需要调用[Subclass userDefaultsModel].name = @"nickname"
就可以)
设置默认值
如果你想设置一些默认值,只需要在.m文件中覆盖setupDefaultValues方法,就像这样:(设置默认值)
// Setup default values
- (NSDictionary *)setupDefaultValues {
//@propertyString: @defaultValue
return @{@"name": @"lc",
@"gender": @1,
@"age": @20,
@"floatNumber": @11.1,
@"doubleNumber": @22.2,
@"isMan": @YES,
};
}
安装
你可以下载这个项目,将'iOS-Objc'文件夹中的代码拖到你的项目中。当然,你也可以使用Cocoapods。要安装它,只需在Podfile中添加以下行:
pod 'NSUserDefaultsModel'