0

私は最終的に、SQLite データベースを使用してクイズ トリビア ゲームを成功裏に作成しました。今、ゲームキットをゲームにインポートしようとしています。私の質問は、配列を使用してピアにデータ パケットを送信すると、他のデバイスがパケットから間違った応答を受け取ることです。これが私のコードです:

NSMutableArray * questionArray = [[[NSMutableArray alloc] init] autorelease];
            [questionArray addObject:newText];
            [questionArray addObject:ans1];
            [questionArray addObject:ans2];
            [questionArray addObject:ans3];
            [questionArray addObject:ans4];
            //questionArray = [NSMutableArray arrayWithObjects: newText,ans1,ans2,ans3,ans4, nil];
            NSData * questionData = [NSKeyedArchiver archivedDataWithRootObject:questionArray];
            [mySession sendDataToAllPeers:questionData withDataMode:GKSendDataReliable error:nil];

ここでデータ配列を作成し、receivedata メソッドでラベルに配置します

-(void)receiveData: (NSData *)data fromPeer:(NSString *)peer inSession: (GKSession *)session context: (void *)ctx {

[mySession setDataReceiveHandler:self withContext:nil];
NSMutableArray * recievedQuestion = [NSKeyedUnarchiver unarchiveObjectWithData:data];
NSLog(@"%@", recievedQuestion);

self.question.text = [recievedQuestion objectAtIndex:0];
[recievedQuestion removeAllObjects];

これは、データが重複しているデバイスからのログです。

2013-10-20 14:00:38.382 P2P[589:c07] (「2006 年にワールド カップ (サッカー) で優勝した国は次のうちどれですか?」、イタリア、フランス、ポルトガル、イタリア)

ご覧のとおり、重複した回答を受け取りました。誰かがなぜそれが起こっているのか説明できますか?

4

0 に答える 0