2

この場合を考えると、他のクラスから動的に拡張するクラスCを宣言したいと思います。クラスAとクラスBがあるとします。ここで、クラスCが次のような指定された条件に基づいてAまたはBを拡張する必要があります。

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

私はObjectiveCとiOSでこれ以上の経験はありません。だから私がこれを行うことができるかどうか教えてください。

本当にありがとう :)

更新:実行時ではなく、コンパイル時に動的が必要です。つまり、コンパイル時に、クラスCはAまたはBを拡張します。この拡張は永久に実行され、実行時に変更されません。

4

1 に答える 1

1

更新に基づいて、答えは「はい」です。/を使用#ifする#ifdefと、コンパイル時に、クラスCがクラスAまたはクラスBのどちらを提案したとおりに拡張するかを判断できます。

もちろん、クラスAとBは同じ共通メソッドのセットを提供し、コードはそれらのメソッドのみを呼び出します。そうでない場合は、クラスCを使用するポイントでさらに条件付きコード(コンパイルまたはランタイム)が必要になります。

于 2012-12-13T11:20:16.213 に答える