标签:
#import <UIKit/UIKit.h> /** iOS 开发中,分类默认不允许保存属性 如果在分类中,定义一个属性,需要自己实现 getter & setter 方法,而且没有 _成员变量 如果在自己开发的框架中,希望在分类中动态添加属性,可以通过 OC 运行时的关联对象的功能! 运行时非常重要的一个应用:给分类动态添加属性,结果能够让框架包装的更好,让使用者做出最小的修改! */ @interface UIImageView (WebImage) @property (nonatomic, copy) NSString *urlString; @end
#import <objc/runtime.h> @implementation UIImageView (WebImage) const void *URLStringKey = "URLStringKey"; - (void)setUrlString:(NSString *)urlString { /** 参数: 1. 属性的持有者 2. 属性的键值 3. 属性的数值 4. 属性的引用类型 */ objc_setAssociatedObject(self, URLStringKey, urlString, OBJC_ASSOCIATION_COPY_NONATOMIC); } - (NSString *)urlString { return objc_getAssociatedObject(self, URLStringKey); } @end
标签:
原文地址:http://www.cnblogs.com/741162830qq/p/4636358.html