有没有办法在目标C上动态声明类?

时间:2012-12-13 10:52:44

标签: objective-c ios

我只考虑这种情况,我想声明一个动态扩展其他类的C类。 假设我有A类和B类。现在,我希望C类基于指定的条件扩展A或B,例如:

#ifdef USE_CLASS_A
class C: A
#else 
Class C: B
#endif

我对目标C和ios没有更多经验。所以请告诉我是否可以这样做。

非常感谢:)

更新:我只需要在编译时动态,而不是运行时。我的意思是,在编译时,C类将扩展A或B.这种扩展将永远存在,不要在运行时更改。

1 个答案:

答案 0 :(得分:1)

根据您的更新,答案是肯定的 - 使用#if / #ifdef您可以在编译时确定C类是否完全按照您建议的方式扩展A类或B类。

课程A& B更好地提供相同的常用方法集,并且您的代码只调用这些方法,否则您将需要在使用C类的点上进一步使用条件代码(编译或运行时)。