我正在使用类别向我的班级添加功能。但是,我想在主类中共享一个通用方法,如果调用该方法,它将调用特定的类别方法。
我解释得更好,假设我有两个类别。
@interface MyClass(CategoryA)
-(void)specificCategoryA;
@end
@interface MyClass(CategoryB)
-(void)specificCategoryB;
@end
然后,在我的主要课程中,我想拥有:
@implementation MyClass
-(void)utilityMethod {
// choose one of the two...
// -(void)specificCategoryB;
// -(void)specificCategoryA;
}
@end
我知道上面做不到,从某种意义上说,类别不能自省,所以我正在寻找另一种方法。对于我正在开发的应用程序,可以在编译时解决这个问题,但我愿意接受任何建议。我也试图覆盖一个通用方法名称,但我显然得到了警告
类别正在实现一个方法,该方法也将由其主类实现
这并不意味着事情不会起作用,但我不想使用类别作为继承。