objective c class作为消息参数

时间:2012-05-25 14:39:31

标签: objective-c class cocos2d-iphone arguments scene

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

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

更具体一点,我想打电话给以下一行:

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

但我希望SceneDefence成为一个变量。我希望能够调用SceneDefence或SceneAttack。下一个场景将存储在init方法的实例变量中,以便稍后在场景发生变化时使用。

1 个答案:

答案 0 :(得分:3)

是的,你说得对,你只需要调用类方法class

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

...
   [myclass f:[SceneDefence class]];