给category增加属性
2017-05-16 10:53
155 查看
//分类的头文件
@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
@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
相关文章推荐
- runtime结合category和block动态增加方法以及属性
- swift之给拓展Category增加属性
- runtime--实现篇02(Category增加属性)
- 给category增加属性
- 给category增加属性
- 【iOS】老生常谈category增加属性的几种操作
- 关于Category中增加属性的问题
- 通过objc runtime 为类别(Category)动态增加属性
- 59.通过 runtime为Category添加属性与成员变量
- ECSHOP后台商品列表中增加商品属性的显示方法
- Intent中的四个重要属性——Action、Data、Category、Extras
- Intent中的四个重要属性——Action、Data、Category、Extras
- viewpager增加滑动属性
- Intent中的四个重要属性——Action、Data、Category、Extras
- 通过JS给HTML元素增加、删除和获取属性内容
- 啥,又要为表增加一列属性?
- 【C# - Entity Framework 】导航属性“CategoryId”不是类型“Qlog”的已声明属性。
- XML的增加项目.添加属性 等
- jQuery的属性与样式之增加样式.addClass()
- iOS UIImage扩展方法(category):放大、旋转、合并UIImage、增加渐变层、添加阴影、调节透明度、保存到相册