iOS 在分类中添加属性
2016-04-26 16:58
399 查看
OC 对类的宽展有三中方式,分类,延展,继承,延展和继承不必多说。今天就说下如何给分类添加属性。我们知道OC比较爽的就是可以添加分类,在分类中添加自己喜欢的方法。可能有人会问了,不能添加属性啊 ,其实不然。
比如我要在一个按钮的分类中添加一个数组属性就可以这样用
下面一些东西你要理解OC的运行时 runtime的 foreignkeyarr objc_getAssociatedObject
比如我要在一个按钮的分类中添加一个数组属性就可以这样用
@interface UIButton (Transcation) @property (nonatomic, strong) NSArray *foreignkeyarr;//这是添加的属性数组 - (void)foreignKeyWithArr:(NSArray*)foreignkey; @end
那么接下来如何才能在外面获取或者赋值呢
下面一些东西你要理解OC的运行时 runtime的 foreignkeyarr objc_getAssociatedObject
#import "UIButton+Transcation.h" #import <objc/runtime.h> @implementation UIButton (Transcation) static char foreigArr = 'a'; - (NSArray*)foreignkeyarr { return objc_getAssociatedObject(self, &foreigArr); } - (void)setForeignkeyarr:(NSArray *)foreignkeyarr { objc_setAssociatedObject(self, &foreigArr, foreignkeyarr, OBJC_ASSOCIATION_COPY_NONATOMIC); } - (void)foreignKeyWithArr:(NSArray*)foreignkey { } @end
相关文章推荐
- iOS学习笔记74-完整详解GCD系列(四)dispatch_semaphore(信号量)
- 关于iOS中的textView
- iOS学习笔记74- 完整详解GCD系列(三)dispatch_group
- iOS学习笔记74-完整详解GCD系列(一)dispatch_async;dispatch_sync;dispatch_async_f;dispatch_sync_f
- 关于iOS中的导航栏
- iOS绘图详解
- iOS单元测试GHUnit + OCMock(不使用cocoapods版)
- iOS重绘机制drawRect
- iOS使用字面量语法让iOS代码更漂亮
- iOS巅峰之iPhone适配的相关内容以及机型适配时的注意事项
- iOS 单元测试OCMock介绍
- iOS 数组内中英文混合排序
- iOS 数组内中英文混合排序
- iOS屏幕旋转学习笔记
- ios逆向工程入门笔记《自用》
- iOS集成极光推送
- iOS- 利用AFNetworking(AFN) - 实现图片上传
- iOS瀑布流
- iOS7 imageWithContentsOfFile 加载不出图片
- ios过滤emoji表情