如何利用运行时给系统分类添加一个属性?
来源:互联网 发布:js常见设计模式 编辑:程序博客网 时间:2024/05/22 11:30
1>导入头文件
#import
2>添加以下代码
@interface UIButton (DH)
@property (nonatomic, copy) NSString *ID;
@end
#import "UIButton+DH.h"
#import
@implementation UIButton (DH)
- (void)setID:(NSString *)ID
{
// self:该属性添加到哪个对象上
// @selector(ID)表示以这个key存进去(取数据的时候也是靠这个Key)
// OBJC_ASSOCIATION_COPY_NONATOMIC 表示缓存策略。
objc_setAssociatedObject(self, @selector(ID), ID,OBJC_ASSOCIATION_COPY_NONATOMIC);
}
- (NSString *)ID
{
returnobjc_getAssociatedObject(self, @selector(ID));
}
@end
上面这种写法就很好的避免了要定义一个const char 类型的key用来标识这个对象。
也可以按照下面这样写:
const char *IDKey = "IDKey";
然后将上面的@selector(ID)替换为IDKey。
0 0
- 如何利用运行时给系统分类添加一个属性?
- OC运行时语言--如何给一个分类添加属性
- iOS-利用运行时给分类添加属性
- iOS利用运行时给分类添加属性
- 利用运行时,给已有对象添加属性
- 如何给一个{}添加一组属性
- 利用运行时关联(runtime)给分类(Category)中的属性存值.
- 给分类,订单等添加一个属性字段!!
- 给分类添加一个属性,模块sql的方式 -- magento
- iOS 利用运行时机制给现有类添加属性
- 如何给magento的产品分类创建一个自定义属性?
- 如何给分类增加一个属性(后台)
- 如何给magento的产品分类创建一个自定义属性?
- 给分类增加一个属性
- Flex中如何利用titleIcon属性给Panel容器标题部添加一个ICON图标的例子
- iOS给分类添加属性时使用 @selector()原理详解
- 如何给一个div用jquery添加多个类名的属性
- 分类添加属性,运行时添加对象属性和基本类型属性
- ViewPager图片自动+手动左右无限轮播
- 如何利用Charles抓取app中的数据
- 非常详细的标准C的标记化结构初始化语法说明
- 内存一致性错误(Memory Consistency Errors)
- scikit-learn : GBR (Gradient boosting regression)
- 如何利用运行时给系统分类添加一个属性?
- 【工具安装】-CentOS源码安装php5.6
- 关于YYModel的使用以及与MJExtension的一些比较
- java web2
- 网络视频监控系统开发系列------视频监控系统的发展历史
- 资料
- Java中的ClassLoader 动态加载机制
- SDWebImage中用到的运行时
- linux中cpuinfo信息