1

メッセージ引数としてObjectiveCクラス(または表記はインターフェイスですか?)を渡すことは可能ですか?このようなもの:

-(void) f:(Class) c
{
  [c message];
}

具体的には、次の行に電話します。

[[CCDirector sharedDirector] replaceScene:[CCTransitionCrossFade transitionWithDuration:0.5f scene:[SceneDefence scene]]];

しかし、SceneDefenceを変数にしたいと思います。SceneDefenceまたはSceneAttackのいずれかを呼び出せるようにしたい。次のシーンは、initメソッドのインスタンス変数に格納され、後でシーンを変更するときに使用されます。

4

1 に答える 1

3

はい、正解です。クラスメソッドを呼び出すだけですclass

-(void) f:(Class) c
{
    [c message]; //message will need to be a class method
}

...
   [myclass f:[SceneDefence class]];
于 2012-05-25T14:44:50.560 に答える