OC的运行时关联,可以类似于为分类添加属性.
来源:互联网 发布:淘宝图片添加热区 编辑:程序博客网 时间:2024/06/18 03:38
实现的功能:为分类添加属性(看上去像),实现完全不用在控制器上初始化,而只需要调用方法就好了.
@interface UIView (Annimation)@property(nonatomic,strong)AnimationIndicator *indicator;//这不是真实的属性,只是为了生成get和set方法@end@implementation UIView (Animation)#pragma mark - 运行时相关static char AnimationKey;- (void)setIndicator:(AnimationIndicator *)indicator { objc_setAssociatedObject(self, &AnimationKey, indicator, OBJC_ASSOCIATION_RETAIN);//参数:绑定到的对象,一个key(就这样,也不用赋值),被绑定的对象,绑定的策略}- (AnimationIndicator *)indicator { return objc_getAssociatedObject(self, &AnimationKey);//根据key返回绑定的值}上面的两步就为分类建立了实在的属性,
如果我在添上如下的代码,
-(void)addAnimation{ if(!self.indicator){ self.indicator=[[alloc]init]; } [self addsubview:self.indicator]; [self.indicator starAnimation]}
这样只需要调用一行代码我们的控制器中就会有一个,在这个分类中实现了的加载动画出现了.
0 0
- OC的运行时关联,可以类似于为分类添加属性.
- OC运行时语言--如何给一个分类添加属性
- Associated Objects,可以为分类添加属性(原则上分类是不可以添加属性的)
- Object - C运行时应用(二)—— 使用对象关联为分类增加属性(每个对象的属性互不干扰)
- OC对象给分类添加属性
- iOS为分类添加属性
- iOS 为分类添加属性
- 分类添加属性之关联引用
- 分类添加属性之关联引用
- iOS - 分类添加属性之关联引用
- 分类添加属性,运行时添加对象属性和基本类型属性
- 如何利用运行时给系统分类添加一个属性?
- iOS-利用运行时给分类添加属性
- iOS利用运行时给分类添加属性
- 使用对象关联为分类增加属性(每个对象的属性互不干扰)
- 使用Associated为分类添加属性
- 分类中添加属性(理论上分类不能添加属性,可以通过两个方法添加)
- 利用运行时关联(runtime)给分类(Category)中的属性存值.
- HTTP协议之请求
- 【工作流前进之路】Activiti 研究之拦截器
- div css float浮动用法(left right)
- 浅析Android中的消息机制
- Shiny的架构浅析
- OC的运行时关联,可以类似于为分类添加属性.
- HTTP协议之响应
- android开机自启动的后台Service的实现
- 待我代码编完,娶你可否(二)
- 利用Opencv进行图像灰度变换处理
- 解密H264、AAC硬件解码的关键扩展数据处理
- No channel configured for sink异常的解决
- 第十二章 存储类、链接和内存管理
- Sicily 7693. Cards