是否可以将目标c类(或者可能是符号是接口?)作为消息参数传递?像这样:
-(void) f:(Class) c
{
[c message];
}
更具体一点,我想打电话给以下一行:
[[CCDirector sharedDirector] replaceScene:[CCTransitionCrossFade transitionWithDuration:0.5f scene:[SceneDefence scene]]];
但我希望SceneDefence成为一个变量。我希望能够调用SceneDefence或SceneAttack。下一个场景将存储在init方法的实例变量中,以便稍后在场景发生变化时使用。
答案 0 :(得分:3)
是的,你说得对,你只需要调用类方法class
。
-(void) f:(Class) c
{
[c message]; //message will need to be a class method
}
...
[myclass f:[SceneDefence class]];