category使用 objc_setAssociatedObject/objc_getAssociatedObject 实现添加属性

来源:互联网 发布:声波牙刷的危害 知乎 编辑:程序博客网 时间:2024/05/22 02:29
@interface NSObject (CategoryWithProperty)

@property (nonatomic, strong) NSObject *property;

@end

@implementation NSObject (CategoryWithProperty)

- (NSObject *)property {
    return objc_getAssociatedObject(self, @selector(property));
}

- (void)setProperty:(NSObject *)value {
    objc_setAssociatedObject(self, @selector(property), value, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}

@end
0 0