假设我有一个名为 MyBaseClass 的 Objective-C 类和一个名为 MySubclassedClass 的子类。
MyBaseClass 有两个类方法:
+ (UIColor *)backgroundColor;
+ (UIImage *)backgroundImage;
backgroundColor 方法调用backgroundImage
. 如果它仅限于 MyBaseClass,我的backgroundColor
方法看起来像
+ (UIColor *)backgroundColor {
UIImage *img = [MyBaseClass backgroundImage];
// irrelevant
return color;
}
但我希望能够将 MyBaseClass 子类化为 MySubclassedClass。backgroundColor
不会改变并且总是调用父级的backgroundImage
方法。在这种情况下,backgroundImage
将在每个子类中被覆盖。
如果 1backgroundColor1 是一个实例方法,我会简单地使用
UIImage *img = [[self class] backgroundImage];
但是,当它是静态方法时,我无法使用“自我”。
有没有一些我可以在Objective-C中完成这个?