KissNSUserDefaults 0.0.1

KissNSUserDefaults 0.0.1

测试已测试
语种语言 Obj-CObjective C
许可证 MIT
发布最近发布2014年12月

未声明维护。



  • CHEN Xian'an

简单,愚蠢!

直接将代码直接硬编码以访问 NSUserDefaults 的密钥非常无聊,并且因为 NSUserDefaultsDidChangeNotification 不包含 userInfo 而痛苦。

创建一个通过属性访问密钥的 NSUserDefaults 类别是一种更好的方法。如果知道哪些密钥已经更改,那就更好了。

这就是 KissNSUserDefaults 项目诞生的目的。您需要做的是在头文件中声明属性,并在实现中全部编写 @dynamic。在 +load 中运行 +kiss_setup 将为您生成所有访问器。

用法

NSUserDefaults+KissNSUserDefaults.hNSUserDefaults+KissNSUserDefaults.m 添加到您的项目中。创建自己的 NSUserDefaults 类别,导入 NSUserDefaults+KissNSUserDefaults.h 并在您的类别的 +load 中运行 +kiss_setup

请查看示例项目中的 NSUserDefaults+KissDemo.(h|m) 以获取详细信息。您可以为 KissNSUserDefaultsDidChangeNotification 添加观察者以监听更改。

NSUserDefaults+KissDemo.h

#import "NSUserDefaults+KissNSUserDefaults.h"

@interface NSUserDefaults (KissDemo)

// KissNSUserDefaults currently supports NSObject, NSInteger, float and BOOL types
@property (nonatomic, strong) NSString *string;
@property (nonatomic) NSInteger integer;
@property (nonatomic) CGFloat floatValue;
@property (nonatomic) BOOL boolValue;

@end

NSUserDefaults+KissDemo.m

#import "NSUserDefaults+KissDemo.h"

@implementation NSUserDefaults (KissDemo)

// KissNSUserDefaults will generate all accessors for you
@dynamic string, integer, floatValue, boolValue;

+ (void)load
{
  [self kiss_setup];
}

@end

创建者

许可证

在 MIT 许可证下。有关更多信息,请参阅 LICENSE 文件。