如何用运行时,给系统分类添加属性?

1导入运行时库

#import <objc/runtime.h>

2定义一个属性,和平常一样

@property (nonatomic, strong) NSMutableArray *beautifulColors;

3实现属性的gette和setter

- (NSMutableArray *)beautifulColors

{

    //翻译:关联对象,通过本类,获取了一个属性getter方法的sel指针

    return objc_getAssociatedObject(self, @selector(beautifulColors));

- (void)setBeautifulColors:(NSMutableArray *)beautifulColors

{

    //翻译:关联对象,通过本类,给一个变量的getter方法的sel指针,输入了一个值,并指定内存策略

    objc_setAssociatedObject(self, @selector(beautifulColors), beautifulColors, OBJC_ASSOCIATION_RETAIN_NONATOMIC);

}

原文地址:https://www.cnblogs.com/dzq1991/p/6227424.html