一般情况下 我们用类别扩展方法,现在我们能给它扩展属性
category使用 objc_setAssociatedObject/objc_getAssociatedObject 实现添加属性
属性 其实就是 get/set 方法。
我们可以使用 objc_setAssociatedObject/objc_getAssociatedObject 实现添加属性实现 动态向类中添加 方法
@interfaceNSObject (CategoryWithProperty)
@property (nonatomic, strong) NSObject*property;
@end
@implementationNSObject (CategoryWithProperty)
- (NSObject *)property {
returnobjc_getAssociatedObject(self, @selector(property));
}
- (void)setProperty:(NSObject *)value {
objc_setAssociatedObject(self, @selector(property), value, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
@end