iOS利用runtime动态增加属性

导入头文件
本文主要使用UIView举例。
首先新建一个类别
.h文件


#import 

@interface UIView (name)

@property (nonatomic, copy) NSString *name;

@end

.m文件

#import "UIView+name.h"
#import 

@implementation UIView (name)

static const char * UIViewName_Key = "UIViewName_Key";

- (void)setName:(NSString *)name {
    objc_setAssociatedObject(self, UIViewName_Key, name, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
- (NSString *)name {
    return objc_getAssociatedObject(self, UIViewName_Key);
}

@end

然后可以去ViewController中创建一个view试试

ViewController的.m文件

UIView *zzView = [[UIView alloc] init];
    zzView.name = @"leroy";
    NSLog(@"the view name is : %@",zzView.name);

控制台输出

2017-11-23 15:21:16.331 ImageDemo[74635:6925367] the view name is : leroy

以上就是利用runtime动态增加属性的过程。

你可能感兴趣的:(iOS利用runtime动态增加属性)