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

属性 其实就是get/set 方法。我们可以使用  objc_setAssociatedObject/objc_getAssociatedObject  实现 动态向类中添加 方法

@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

good.

上一篇:关于Python中的yield


下一篇:C扩展python的module和Type