【发布时间】:2014-07-05 15:40:09
【问题描述】:
我正在编写一个具有可配置敌人波的 iOS 游戏。我有一个可以配置敌人等的通用波类。
当一波开始时,我想要一个回调方法来运行每个级别的自定义代码。我一直在阅读objective-c没有定义内联类或匿名函数的方法,但我真的很想避免为我需要使用的每个回调创建单独的标头/类 - 主要是因为回调将只有几行。
在 java 中,我会这样做:
wave.addCallback( new WaveCallback(){
public void onStart(){
// do some stuff
}
});
在 iOS 中,我有这个:
Wave *wave1 = [[Wave alloc] init];
[wave1 addEnemy:@"BasicSpaceship"];
// need to tell the wave to execute a few lines of code when started
[waves addObject:wave1];
【问题讨论】:
-
您不能为此使用代码块吗?从您在 java 中所做的判断来看,我认为代码块可以很好地满足您的需求。
-
也许你想看看块。
-
obj-c 对我来说还是个新手,听起来我需要研究代码块。
-
您希望在配置
Wave的对象上运行代码还是运行独立于执行此操作的对象的代码? -
我想把代码传给
wave1,这样当wave真正启动时,它就可以执行代码块了
标签: ios objective-c