iOS利用运行时给分类添加属性

前面有一篇文章介绍了利用运行时在字典转模型,以及对自定义类归档解档中的使用方法,再补充一个利用运行时给分类增加属性的方法.
我们知道分类的主要作用是在不改变原来类的情况下,给其增加方法,但是却不能增加属性. 但是利用运行时,我们可以给分类增加属性.核心代码如下:

#import "UIImageView+webCache.h"
#import <objc/runtime.h>
const char * KEY = "key";

@implementation UIImageView (webCache)
//分类中不能synthesize
//@synthesize currentIMGAddr = _currentIMGAddr;

-(NSString *)currentIMGAddr{

    /*
     1.要被关联的对象
     2.关联的key
     */
    return objc_getAssociatedObject(self, KEY);
}

-(void)setCurrentIMGAddr:(NSString *)currentIMGAddr{
    //关联对象
    /*
     1.要被关联的对象
     2.关联的key
     3.关联的值
     4.关联策略-属性关键字
     */
    objc_setAssociatedObject(self, KEY, currentIMGAddr, OBJC_ASSOCIATION_COPY_NONATOMIC);
}

转载自Setoge( iOS-利用运行时给分类添加属性)
http://blog.csdn.net/Setoge/article/details/52130698

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值