MYS类别属性 0.0.3

MYS类别属性 0.0.3

测试已测试
语言语言 Obj-CObjective C
许可协议 MIT
发布上次发布2014年12月

Adam Kirk维护。



  • Adam Kirk

快速通过运行时关联向类别添加属性。属性的名称必须遵循三个字母前缀的命名约定(例如mys_property),以保证其正常工作。

安装

在Podfile中添加以下行:

pod "MYSCategoryProperties"

说明

将属性添加到您的头文件

@interface NSString (Example) 
@property (nonatomic, copy  ) NSDate    *mys_typedAt;
@property (nonatomic, assign) NSInteger mys_firstSpaceIndex;
@end

导入头文件

#import <MYSCategoryProperties.h>

在实现文件中为每个属性添加@dynamic

@implementation NSString (Example)
@dynamic mys_typedAt;
@dynamic mys_firstSpaceIndex;
...

+ (void)load方法中调用此方法(此方法称为每个类的类别)

+ (void)load
{
    [MYSCategoryProperties generateGettersSettersForCategoryOnClass:self];
}

就是这样!

现在您可以像使用普通属性一样使用这些属性

NSString *string = @"A string";
string.mys_typedAt = [NSDate date];
string.mys_firstSpaceIndex = 1;

NSLog(@"A string: \"%@\" that was typed at %@ has a space at %d", string, string.mys_typedAt, string.mys_firstSpaceIndex);

贡献

请在提交拉取请求之前更新并运行测试。谢谢。

致谢

https://github.com/gangverk/GVUserDefaults中获取了许多灵感和代码。

作者

Adam Kirk (@atomkirk)