//分类的头文件
@interface ClassName (CategoryName)
@property (nonatomic, strong) NSString *str;
@end
//实现文件
#import "ClassName + CategoryName.h"
#import <objc/runtime.h>
static void *strKey = &strKey;
@implementation ClassName (CategoryName)
-(void)setStr:(NSString *)str
{
objc_setAssociatedObject(self, & strKey, str, OBJC_ASSOCIATION_COPY);
}
-(NSString *)str
{
return objc_getAssociatedObject(self, &strKey);
}
@end
这里要注意objc_setAssociatedObject里传的参数,枚举值等等有的时候是copy有的时候是strong或者retain
相关文章
- VUE 动态给对象增加属性,并触发视图更新。
- 在Quick Cocos2d-x中给CocosStudio中导出的UI(Widget)控件增加触摸(touch)事件
- Dedecms网站给图片alt属性自动调用标题的方法
- magento -- 如何为商品分类(category)添加自定义属性
- html页面中给img标签的src属性赋值为一张图片的存储路径,图片不显示
- 在TableViewer中如何给表格的单元格增加其他组件的编辑功能
- 利用cglib给javabean动态添加属性,不用在建VO
- 用Maven给一个Maven工程打包,使用阿里云镜像解决mvn clean package出错的问题,使用plugin解决没有主清单属性的问题
- ES6-map数据结构,增加、删除、查找 方法(set get has delete clear ) 属性:size
- Android开发————Intent中的四个重要属性Action、Data、Category、Extras