1

是否可以将目标 c 类(或者符号是接口?)作为消息参数传递?像这样的东西:

-(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 回答