原因是婉弹,在類別中可以添加屬性睬魂,卻無法添加成員變量,該列別中無法用常規(guī)方法實現(xiàn)get和set方法镀赌。
此時是應(yīng)該用runtime去寫get和set氯哮。
使用objc_setAssociatedObject/objc_getAssociatedObject實現(xiàn)添加屬性,其實就是get/set方法。
在類別的.h方法中添加屬性property喉钢。
@interface UILabel (my)
@property(nonatomic,strong)NSObject*property;
@end
在.m文件中寫get/set方法
@implementation UILabel (my)
- (NSObject*)property
{
???? returnobjc_getAssociatedObject(self,@selector(property));
}
- (void)setProperty:(NSObject*)value
{
??? objc_setAssociatedObject(self,@selector(property), value, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
這樣就給label添加了property屬性姆打。