iOS (Category)runtime动态添加属性
来源:互联网 发布:淘宝衣服洗过会被发现 编辑:程序博客网 时间:2024/03/29 08:11
Category模式用于向已经存在的类添加方法从而达到扩展已有类的目的,在很多情形下Category也是比创建子类更优的选择。新添加的方法同样也会被被扩展的类的所有子类自动继承。如果我们能在Category中添加自定义的属性那岂不是更好。属性其实就是set/get函数,下面直接上代码:使用前请注意导入 #import <objc/runtime.h>
使用下面两个函数OBJC_EXPORT void objc_setAssociatedObject(id object, const void *key, id value, objc_AssociationPolicy policy)OBJC_EXPORT id objc_getAssociatedObject(id object, const void *key)
我们定义一个Category,
UIImageView+PropertyDemo.h
@interface UIImageView (PropertyDemo) - (void) setStyle:(NSObject*) style; - (NSObject *) getStyle;@end
UIImageView+PropertyDemo.m
@implementation UIImageView (PropertyDemo)static char styleKey;- (void) setStyle:(NSObject *) style{ objc_setAssociatedObject(self, &styleKey, style, OBJC_ASSOCIATION_RETAIN_NONATOMIC);}- (UIColor *) getStyle{ return objc_getAssociatedObject(self, &styleKey);}@end
外部调用:
UIImageView *mImageView = [UIImageView alloc]initWithImage:[UIImage imageNamed:@"image.png"]]; mImageView.style = @"style0"; NSLog(@"The style is %@",mImageView.style);
转载请留名:http://blog.csdn.net/yan_daoqiu/article/details/50350524
1 0
- iOS (Category)runtime动态添加属性
- IOS通过runtime给category添加属性
- category动态添加属性
- Category 动态添加属性
- 动态添加属性(Runtime)
- runtime动态添加属性
- Runtime 动态添加属性
- runtime -- 动态添加属性
- 利用Runtime为Category添加属性
- iOS开发之category动态添加属性的方法------关联
- IOS开发中Category中动态添加属性
- iOS Runtime 动态添加属性不能添加intrinsic类型
- ios用category添加属性
- Runtime(动态添加属性)学习
- iOS runtime 机制 通过别扩展category给一个类添加属性
- iOS运行时-使用Runtime向Category中添加属性以及运行时介绍
- iOS开发------runtime关联对象(动态添加属性)
- iOS分类中通过runtime添加动态属性
- Android 5.x Theme 与 ToolBar 实战
- C++ 回调函数理解
- 最全Pycharm教程(39)——Pycharm版本控制之本地Git用法
- 大文件极速合并 RandomAccessFile
- ERROR: ORA-01033: ORACLE initialization or shutdown in progress
- iOS (Category)runtime动态添加属性
- fragment的简单使用,点击底下导航栏切换activity的fragment。
- 错误删除数据或清空数据怎样可以找回
- xcode7以上找不到.dylib,一招帮你解决
- Leetcode201: Remove Duplicate Letters
- java protected访问权限小结
- processing - MySQL example1-conntction(), query() , next() , getInt(1)
- UICollectionView 运用
- iOS状态栏隐藏