为扩展类添加属性

作者: 纪叙 | 来源:发表于2016-02-25 17:31 被阅读133次

static void * MyObjectMyCustomPorpertyKey = (void *)@"MyObjectMyCustomPorpertyKey";

@implementation UIImageView (CanClick)

- (id)initWithFrame:(CGRect)frame {

self = [super initWithFrame:frame];

if (self) {

UITapGestureRecognizer *tapGes = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(tapGesPressed)];

[self addGestureRecognizer:tapGes];

}

return self;

}

- (NSString *)clickUrl {

return objc_getAssociatedObject(self,MyObjectMyCustomPorpertyKey);

}

- (void)setClickUrl:(NSString *)clickUrl {

objc_setAssociatedObject(self, MyObjectMyCustomPorpertyKey,clickUrl, OBJC_ASSOCIATION_RETAIN_NONATOMIC);

}

- (void)tapGesPressed {

[[SchemeHandler defaultHandler]handleUrl:self.clickUrl animated:YES];

}

相关文章

  • 为扩展类添加属性

    static void * MyObjectMyCustomPorpertyKey = (void *)@"MyO...

  • kotlin 扩展属性

    与扩展方法类似,扩展属性当然也不是真正添加进了原类。 扒开糖衣看看kotlin扩展属性实现原理。 给Date类添加...

  • Swift 中的扩展

    扩展的语法 计算属性 扩展可以为现有类型添加实例计算属性以及类计算属性。但不能添加存储属性,也不能为现有的属性添加...

  • 类的加载(三)

    类扩展 类扩展 VS 分类 category 专门用来给类添加新的方法 不能给类添加成员属性,添加了成员变量,也...

  • iOS runtime Extension里添加属性

    关联属性 创建Person类,然后在扩展文件里面添加address属性。

  • Add CGFloat property to Category

    给扩展类添加CGFloat类型的属性 IOS中可以使用运行时动态给类添加属性,对象类型的属性添加方法大家都知道 但...

  • Swift学习_扩展和协议

    1.扩展 扩展用于为已存在的类、结构体或枚举等类型添加新的功能 1.扩展计算型属性 2.扩展构造函数 扩展构造函数...

  • swift 扩展(extension)

    扩展(Extension)用于为已存在的类、结构题或枚举等类型添加新的功能。可以扩展计算型属性、构造函数、方法、下...

  • 类 *分类* 类扩展

    分类:Category iOS中的分类主要的作用就是为类提供扩展,增加一些方法。但是只能添加方法 不能添加属性?我...

  • 扩展

    为现有的类、结构体、枚举类型、协议添加了新功能。扩展可以:1、添加计算属性(get set);2、定义方法;3、提...

网友评论

    本文标题:为扩展类添加属性

    本文链接:https://www.haomeiwen.com/subject/hqoikttx.html