UDUserDefaultsModel
统一管理使用 NSUserDefaults 保存的值。(原库名称:NSUserDefaultsModel)
博客:https://www.jianshu.com/p/681ef055f716
YIIFMDB:https://github.com/liuchongfaye/YIIFMDB (FMDB改进方案)
注意:最初的版本此库以“NS”开头,但这样会让人误以为是iOS系统的代码,因此将其改为“UDUserDefaultsModel”
pod 'UDUserDefaultsModel'
如何使用
创建一个基于 UDUserDefaultsModel 的子类,并在 .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 name;
@dynamic gender;
@dynamic age;
@dynamic floatNumber;
@dynamic doubleNumber;
@dynamic isMan;
要获取 'name',只需使用 [Subclass userDefaultsModel].name
,它将自动调用 NSUserDefaults 的方法去取值。如果想重置 'name' 或更改数据,只需调用 [Subclass userDefaultsModel].name = @"nickname"
,其中进行了
设置默认值
设置默认值:
// Setup default values
- (NSDictionary *)setupDefaultValues {
//@propertyString: @defaultValue
return @{@"name": @"lc",
@"gender": @1,
@"age": @20,
@"floatNumber": @11.1,
@"doubleNumber": @22.2,
@"isMan": @YES,
};
}
如果想要设置 NSUserDefaults 的 suiteName,那么要在子类中重写 _suiteName 方法,例如:
- (NSString *)_suiteName {
return @"lc.UserDefatults";
}
您可以下载此项目,然后将 'iOS-Objc' 文件夹下的类文件导入到您的项目中。当然,您也可以使用 Cocoapods,只需要在 podfile 中写入如下代码并执行 pod install 即可
pod 'UDUserDefaultsModel'