objc_setAssociatedObject 关联的简单用法
1.定义:简单的说关联就是将两个对象关联起来
2.用法:加入给一个label 关联一个一个字符串keyValue 如下
1.导入头文件#import <objc/runtime.h> 动态添加的头文件添加
2.代码如下
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(50, 70, 100, 50)]; label.text = @"799"; //给label添加一个动态的字符串keyValue objc_setAssociatedObject(label, &staticingKey, @"keyValue", OBJC_ASSOCIATION_RETAIN); label.backgroundColor = [UIColor lightGrayColor]; [self.view addSubview:label]; //获取keyValue NSString *title= objc_getAssociatedObject(label, &staticingKey); NSLog(@"%@",title);
3.从代码中可以看出添加中用到了objc_setAssociatedObject的方法 这是给label添加动态属性keyValue
4.参数介绍 label:需要添加对象的对象 staticingKey:唯一的标志key keyValue:添加的对象 OBJC_ASSOCIATION_RETAIN:策略
5.获取的添加的对象 如代码获取keyValue