我有一個NSMutableArray的NSNumbers。 我枚舉數組,併爲每個「1」在那裏我需要檢查其在陣列中的位置並做一些事情。這就是我要做的事:如果對象相同,如何檢查NSMutableArray中對象的索引?
for (NSNumber *number in fieldArray) {
int temp = [number intValue];
if (temp != 0)
{
if (temp == 1)
{
switch ([fieldArray indexOfObject:number]) {
case 0:
{
CCSprite *x = [CCSprite spriteWithFile:@"x.png"];
x.position = ccp(53,265);
[self addChild:x];
}
break;
case 1:
{
//this code never gets called
}
因爲我有一個「1」的陣列我switch語句永遠不會去任何地方,但1號。我該如何解決這個問題的零位?如何檢查陣列單元中的東西的位置?
爲什麼我需要這個,爲什麼我這樣做。我正在製作一個tic-tac-toe遊戲。我將字段存儲在容量爲9的NSMutableArray中。因此,數組中的每個數字都是在播放字段中的單元格。如果單元格爲空,則數組爲0,如果存在x - 數組中有1個值,並且單元格中爲零 - 數組爲2時。數組爲2時 繪製時間到達時,我遍歷數組並檢查我看到了什麼價值。如果價值爲零,我什麼都不做,但如果它是一個,我畫在某個位置。 也許有更簡單的方法來做到這一點,如果沒有辦法解決我的問題,你可以指出我在那個方向。編號: 工作解決方案是將枚舉更改爲常規循環。
for (int i = 0; i < 9; i++) {
int temp = [[fieldArray objectAtIndex:i] intValue];
if (temp == 1)
{
switch (i) {
case 0:
{
CCSprite *x = [CCSprite spriteWithFile:@"x.png"];
x.position = ccp(53, 265);
[self addChild:x z:1];
break;
}
case 1:
{
CCSprite *x = [CCSprite spriteWithFile:@"x.png"];
x.position = ccp(159, 265);
[self addChild:x z:1];
break;
}
更改爲通常的循環確實有幫助,但我主要保留了我的代碼。 – Dvole 2012-08-16 18:18:10