#import "NSObject+cate.h"
#import@implementation NSObject (cate)
static charchar *key = "name";
// set
- (void)setName:(NSString *)name {
? ? ? ? //? ? OBJC_ASSOCIATION_ASSIGN = 0,? ? assign 策略
? ? ? ? //? ? OBJC_ASSOCIATION_RETAIN_NONATOMIC = 1, retain 策略
? ? ? ?//? ? OBJC_ASSOCIATION_COPY_NONATOMIC = 3,? copy 策略
? ? ? ?//? ? OBJC_ASSOCIATION_RETAIN = 01401,
? ? ? ?//? ? OBJC_ASSOCIATION_COPY = 01403?
? ? ? /*
? ? ? ? ? ?id 給那一個對象添加屬性
? ? ? ? ? key? 屬性所對應(yīng)的key
? ? ? ? ? name 需要賦值的屬性
? ? ? ? ? cache 策略
? ? ? */
? ? ? ? ? objc_setAssociatedObject(self, key, name, OBJC_ASSOCIATION_COPY_NONATOMIC);
}
//get
- (NSString *)name {
? ? return? objc_getAssociatedObject(self, key);
}
需要注意的是set方法跟get方法需要用同一個key來取值。