我想首先指出,实际上我们“可以”
只需使用关联对象:
@implementation UIButton (BGButtonWithImages)
static char UIB_ImageOfButton;
-(void)setImageObject:(Image *)imageObject
{
objc_setAssociatedObject(self, &UIB_ImageOfButton, imageObject, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
-(Image*)imageObject
{
return (Image*)objc_getAssociatedObject(self, &UIB_ImageOfButton);
}
@end
但这会导致另一个问题。为什么用关联对象可以轻松完成的事情却不能定期完成?为什么 Apple 不在这样的类别中实现属性?