1>导入头文件
#import
2>添加以下代码
@interface UIButton (DH)
@property (nonatomic, copy) NSString *ID;
@end
#import "UIButton+DH.h"
#import
@implementation UIButton (DH)
- (void)setID:(NSString *)ID
{
// self:该属性添加到哪个对象上
// @selector(ID)表示以这个key存进去(取数据的时候也是靠这个Key)
// OBJC_ASSOCIATION_COPY_NONATOMIC 表示缓存策略。
objc_setAssociatedObject(self, @selector(ID), ID,OBJC_ASSOCIATION_COPY_NONATOMIC);
}
- (NSString *)ID
{
returnobjc_getAssociatedObject(self, @selector(ID));
}
@end
上面这种写法就很好的避免了要定义一个const char 类型的key用来标识这个对象。
也可以按照下面这样写:
const char *IDKey = "IDKey";
然后将上面的@selector(ID)替换为IDKey。