Runtime之分类添加属性
来源:互联网 发布:全球第一大社交网络 编辑:程序博客网 时间:2024/04/20 05:01
众所周知分类没办法添加属性,所以只能利用Runtime来添加属性变量
#import "NSObject+cate.h"#import <objc/runtime.h>@implementation NSObject (cate)static char *key = "name";// set- (void)setName:(NSString *)name {// OBJC_ASSOCIATION_ASSIGN = 0, assign 策略// OBJC_ASSOCIATION_RETAIN_NONATOMIC = 1, retain 策略// OBJC_ASSOCIATION_COPY_NONATOMIC = 3, copy 策略// OBJC_ASSOCIATION_RETAIN = 01401, // OBJC_ASSOCIATION_COPY = 01403 /* id 给那一个对象添加属性 key 属性所对应的key name 需要赋值的属性 cache 策略 */ objc_setAssociatedObject(self, key, name, OBJC_ASSOCIATION_COPY_NONATOMIC);}//get- (NSString *)name { return objc_getAssociatedObject(self, key);}
需要注意的是set方法跟get方法需要用同一个key来取值。
0 0
- Runtime之分类添加属性
- Runtime应用之归档 , KVC , 分类添加属性
- Runtime应用之归档 , KVC , 分类添加属性
- RunTime应用--动态给分类添加属性
- runtime学习之- 关联(association),在分类中添加属性!
- runtime学习之- 关联(association),在分类中添加属性!
- iOS runtime机制实现给分类添加属性
- iOS分类中通过runtime添加动态属性
- Runtime 归档 , KVC , 分类添加属性 , 关联等用法.
- iOS分类中通过runtime添加动态属性
- iOS分类中通过runtime添加动态属性
- iOS分类中通过runtime添加动态属性
- iOS分类中通过runtime添加动态属性
- runtime简单使用之动态添加属性
- runtime动态添加属性
- 利用runtime添加属性
- Runtime 动态添加属性
- runtime -- 动态添加属性
- AngularJS简介
- 制作特别的.9图片
- XML——XML解析之SAX
- CoreData的多线程存储(代码)
- NYOJ 1058 部分和问题 (DFS)
- Runtime之分类添加属性
- AngularJS模型
- EF中LINQ查询原理
- 混合开发
- 关于build.gradle文件操作
- Spring中事务的Propagation(传播性)的取值
- AngularJS事件
- nginx if多条件判断
- oracle 数据库创建