2012-05-15 43 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说。 –