UDUserDefaultsModel 1.0.7

UDUserDefaultsModel 1.0.7

liuchongfaye 维护。



  • by
  • 刘冲

英文读我

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'