用objc/runtime给类别扩展属性

一般情况下 我们用类别扩展方法,现在我们能给它扩展属性

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

代码下载

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容