IOS通过runtime给category添加属性
来源:互联网 发布:麒麟linux官网 编辑:程序博客网 时间:2024/04/26 19:31
objc_setAssociatedObject和objc_getAssociatedObject来给我们的类别扩展属性.
如下 类别声明:
@interface UIViewController (ZYCategoryPropertyAccessary)
@property (nonatomic ,strong)NSObject *person;
@property (nonatomic ,copy)NSString *name;
@property (nonatomic ,assign)NSInteger age;
@end
具体实现:#import <objc/runtime.h>
@implementation UIViewController (ZYCategoryPropertyAccessary)
-(NSString *)name
{
returnobjc_getAssociatedObject(self,_cmd);
}
-(void)setName:(NSString *)name
{
objc_setAssociatedObject(self,@selector(name), name, OBJC_ASSOCIATION_COPY_NONATOMIC);
}
-(NSObject *)person
{
returnobjc_getAssociatedObject(self,_cmd);
}
-(void)setPerson:(NSObject *)person
{
objc_setAssociatedObject(self,@selector(person), person, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
-(NSInteger)age
{
return [objc_getAssociatedObject(self,_cmd) integerValue];
}
-(void)setAge:(NSInteger)age
{
objc_setAssociatedObject(self,@selector(age), @(age),OBJC_ASSOCIATION_ASSIGN);
}
@end
这样我们就可以给在类别中添加属性了!- IOS通过runtime给category添加属性
- iOS runtime 机制 通过别扩展category给一个类添加属性
- iOS (Category)runtime动态添加属性
- category 给IOS原生类添加属性
- iOS中OC给Category添加属性
- 59.通过 runtime为Category添加属性与成员变量
- 给Category添加属性
- ios 通过Category给系统类添加属性(关联值)
- iOS 运行时runtime应用之二--在category中使用运行时API给类添加属性
- iOS 用宏在category里给对象添加属性
- iOS 给category添加属性的小技巧
- iOS 用宏在category里给对象添加属性
- 利用Runtime为Category添加属性
- iOS runtime机制实现给分类添加属性
- iOS Runtime详解之给Category添加成员变量(怎么设置关联对象)
- ios用category添加属性
- iOS分类中通过runtime添加动态属性
- iOS分类中通过runtime添加动态属性
- SystemV和BSD的区别
- 数据格式化与性能优化
- 史上最简单的推荐系统设计
- 前言
- 《剑指offer》重建二叉树
- IOS通过runtime给category添加属性
- 梧桐树下
- HDU 5437 Alisha’s Party
- ImageLoader的基本使用方法
- bzoj3251 树上三角形
- handler机制的原理
- HDU5446(2015年长春网络赛1010)改
- HDU 5438 Ponds (2015年长春赛区网络赛B题)
- STL之空间配置器allocator