category只能扩展类的方法,不能扩展类的属性。如果要扩展类的属性,可以用associative,这个相对于category来说用的比较少,而且他还用到运行时编程,必须使用
@interface UIView (Loading)
@property (nonatomic, strong) MBProgressHUD *hub;
@end
@implementation UIView (Loading)
static char *hubKey = "hubKey";
#pragma mark -getter && setter
- (MBProgressHUD *)hub{
return objc_getAssociatedObject(self, hubKey);
}
- (void)setHub:(MBProgressHUD *)hub{
objc_setAssociatedObject(self, hubKey, hub, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
@end