2013-06-06 34 views
1

在下面的方法中,我使用switch-case將對象添加到數組。如何用返回值對象填充數組

-(void)addBall { 
    switch (ballKind) { 
     case greenBall: 
     [ballArray addObject:[self createBallObject:CGPointMake(xPos*(s.width/480.0), yPos*(s.height/320.0)) ballStringName:@"greenBall.png"]]; 
     break; 

    case redBall: 
     [ballArray addObject:[self createBallObject:CGPointMake(xPos*(s.width/480.0), yPos*(s.height/320.0)) ballStringName:@"redBall.png"]]; 
     break; 

    case blueBall: 
     [ballArray addObject:[self createBallObject:CGPointMake(xPos*(s.width/480.0), yPos*(s.height/320.0)) ballStringName:@"blueBall.png"]]; 
     break; 

    default: 
     break; 
    } 
} 

createBallObject返回一個CCPhysicsSprite。我也有返回的ballArray的方法:

-(NSMutableArray*)getBallArray { 

    return ballArray; 
} 

我要訪問的CCPhysicsSprite返回值每個ballArray內createBallObjects(每個ballArray元素是其各自的CCPhysicsSprite),同樣他們的b2Body性質,所以我可以在for循環中遍歷它們。我怎樣才能做到這一點?

+0

爲什麼不在'addBall'方法中返回'ballArray',最後? – LAMBORGHINI

回答

1

要訪問CCPhysicsSprite對象之一,在ballArray的特定指標,做到這一點:如果你想訪問ballArray的所有CCPhysicsSprite對象

int index; // Set this to which index of the array you wish to view. 
CCPhysicsSprite *sprite = [ballArray objectAtIndex: index]); 

,這樣做:

int count = [myColors count]; 

for (i = 0; i < count; i++) 
{ 
    CCPhysicsSprite *sprite = [myColors objectAtIndex: count]; 
} 

希望這回答你的問題。