Objective-C中指向对象的方法

Objective-C中指向对象的方法,objective-c,pointers,object,methods,Objective C,Pointers,Object,Methods,我使用spriteclass创建了一些精灵,并将它们加载到数组中。在我的应用程序中,我在数组上循环检查特定条件(位置等)。我想创建一个爆炸方法,我可以传递其中一个对象,然后使用指针在屏幕上拖动对象的位置并在那里显示爆炸。我不知道如何将数组中的指针/对象传递给要使用的方法 以下是我的基本想法: for (int i=1; i<4; i++) { EnemySprite *currentenemy = [enemies objectAtIndex:i-1]; //Blow

我使用spriteclass创建了一些精灵,并将它们加载到数组中。在我的应用程序中,我在数组上循环检查特定条件(位置等)。我想创建一个爆炸方法,我可以传递其中一个对象,然后使用指针在屏幕上拖动对象的位置并在那里显示爆炸。我不知道如何将数组中的指针/对象传递给要使用的方法

以下是我的基本想法:

for (int i=1; i<4; i++) {

    EnemySprite *currentenemy = [enemies objectAtIndex:i-1];

    //Blow this guy up
    [self explosion:currentenemy]
}


-(void)explosion someobject {

    explosion.position = someobject.position

    someobject.setHidden=YES;

}

for(inti=1;i对于一个参数,您可以这样编写它

// definition
-(void) explosion:(EnemySprite*) someObject
{

}

// usage
[self explosion: object];
对于两个参数,事情有点复杂。
// definition
-(void) explosion:(EnemySprite*) someObject radius:(float)explosionRadius
{
  ...
  if (pos < explosionRadius)
  ...
}

// usage
[self explosion: object radius:10.0f];
编写函数时,sprite和radius参数都显示为“命名”

[self explodeSprite:sprite radius:10.0f];

为什么不让你的物体成为爆炸的接受者呢

for (id currentenemy in enemies)
{
    [currentenemy explode];
}
for (id currentenemy in enemies)
{
    [currentenemy explode];
}