2012-05-15 93 views
0

我想比較兩個數組,看看他們是否匹配我的測試用例是「贏家」,我一直試圖比較他們halArray和playerArray沒有運氣。即使我知道,例如playerArray和WIN1都在他們相同的對象,他們似乎並不匹配,引發我的NSLog()iOS比較數組和集

這是獲獎者數組是如何建立

NSArray *win = [NSArray arrayWithObjects:@"0",@"1",@"2",nil]; 
winners = [NSArray arrayWithObjects: win1,win2,win3,win4,win5,win6,win7,win8,nil]; 

如何補償和球員被填充

-(void)checkSpace:(NSString *)playerName spot:(int)selectedSpot 
{ 
    NSString *p = playerName; 
    int s = selectedSpot; 
    NSNumber* gameSpace = [NSNumber numberWithInt:s]; 

    if (p == comp) 
    {  
     [halArray addObject:gameSpace];   
     [self checkWin]; 
    } 
} 
+0

你確定你不想測試playerSet是否是testSet的一個子集(和halSet相同)而不是相反的情況嗎? 請附上兩套日誌,我相信我們會看到發生了什麼。 祝你好運! –

+0

你可以發佈你如何填充「playerArray」或「halArray」?也可能是每個例子的內容? – Stretch

+0

確定已更新 - 我將NSNumbers添加到數組中。我想要做的是將每個用戶選擇的空間添加到數組,然後將數組與可能的「勝利」進行比較,以確定他們是否贏了。例如,如果玩家選擇了空間0,1和2(他們可以有更多的空間,但我只需要匹配「贏」)就可以匹配「win1」,遊戲就結束了。 – KDM

回答

3

的問題是,你是填充勝利陣列與NSString的並將它們與該NSNumber「你填充halArray以s。

他們永遠不會匹配。

變化從這個這個(和其他雙贏的):

NSArray  *win1 = [NSArray arrayWithObjects:@"0",@"1",@"2",nil]; 

這樣:

NSArray  *win1 = [NSArray arrayWithObjects:[NSNumber numberWithInt:0], 
              [NSNumber numberWithInt:1], 
              [NSNumber numberWithInt:2], 
              nil]; 

OR

添加NSString的,而不是NSNumbershalArrayplayerArray

+0

lnafziger說。 –