objc_setAssociatedObject 关联的简单用法
2016-01-13 10:48
627 查看
1.定义:简单的说关联就是将两个对象关联起来
2.用法:加入给一个label 关联一个一个字符串keyValue 如下
1.导入头文件#import <objc/runtime.h> 动态添加的头文件添加
2.代码如下
3.从代码中可以看出添加中用到了objc_setAssociatedObject的方法 这是给label添加动态属性keyValue
4.参数介绍 label:需要添加对象的对象 staticingKey:唯一的标志key keyValue:添加的对象 OBJC_ASSOCIATION_RETAIN:策略
5.获取的添加的对象 如代码获取keyValue
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
相关文章推荐
- java中Object... 的用法是什么意思?
- Jackson ObjectMapper类
- objective-c 中数据类型之中的一个 几何数据类型(CGPoint,CGSize,CGRect)
- [ES6] Objects vs Maps
- objective-c 一个链式加法计算器实现
- java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to
- java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to
- java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to
- Objective-C对象之类对象和元类对象
- form.submit()提交时报错object is not a function
- IOS,Objective-C,相册功能的实现。
- 关于html5里object、embed、video、audio的小总结
- IOS开发之——objectForKey与valueForKey在NSDictionary中的差异
- java中 if 判断条件中 null == object寓意何在?
- Faster R-CNN:Towards Real-Time Object Detection with Region Proposal Networks
- Object-c 中的数据类型
- javascript: Jquery each loop with json array or object
- javascript: Jquery each loop with json array or object
- Object-C 中各数据类型转换 NSData转NSString,Byte,UIImage
- javascript: Jquery each loop with json array or object