0

私は2つの配列を比較して、それらが一致するかどうかを確認しようとしています-私のテストケースは「勝者」であり、運が悪かったので、それらをhalArrayおよびplayerArrayと比較しようとしました。たとえば、playerArrayとwin1の両方に同じオブジェクトが含まれていることを知っていても、それらは一致していないようで、NSLOG()をトリガーします。

これが勝者配列の設定方法です

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];
    }
}
4

1 に答える 1

3

問題は、win配列に'を入力しNSString、それらを入力した'と比較していることです。 NSNumberhalArray

それらは決して一致しません。

これ(および他の勝利)をこれから変更します:

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

これに:

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

また

toとNSStringの代わりに'sを追加します。NSNumbershalArrayplayerArray

于 2012-05-16T01:20:34.190 に答える