https://github.com/dreamengine/DEUserDefaults
您可以这样做
NSString *value = DEUserDefaults[@"key"];
DEUserDefaults[@"key"] = @"value";
[DEUserDefaults synchronize];
而不是这样做
NSString *value = [[NSUserDefaults standardUserDefaults] objectForKey:@"key"];
[[NSUserDefaults standardUserDefaults] setObject:@"value" forKey:@"key"];
[[NSUserDefaults standardUserDefaults] synchronize];
DEUserDefaults 让您无需烦恼处理 NSUserDefaults。只需像使用字典一样使用键的索引即可,无需考虑 -standardUserDefaults 或 -objectForKey:/-setObject:forKey:.
要从用户默认值获取/设置值,只需像使用字典一样使用键的索引即可。
#import "DEUserDefaults.h"
...
-(void)someMethod {
NSString *someString = DEUserDefaults[@"some_string_key"];
NSArray *someArray = DEUserDefaults[@"some_array_key"];
DEUserDefaults[@"number_key"] = @(42);
[DEUserDefaults synchronize]; // easy to save, too
}
技术上,DEUserDefaults 是对 [NSUserDefaults standardUserDefaults] 的引用,并混合了一个处理键索引的 NSUserDefaults 分类。这意味着 DEUserDefaults 是一个 NSUserDefaults 实例,并且您可以使用它上的常规 NSUserDefaults 对象方法。
换句话说,DEUserDefaults 只是一个使 [NSUserDefaults standardUserDefaults] 更容易使用的语法糖。
-(void)someMethod {
NSDictionary *representation = DEUserDefaults.dictionaryRepresentation;
[DEUserDefaults registerDefaults:someDictionary];
NSArray *array = [DEUserDefaults arrayForKey:@"some_array_key"];
}