私は最終的に、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 年にワールド カップ (サッカー) で優勝した国は次のうちどれですか?」、イタリア、フランス、ポルトガル、イタリア)
ご覧のとおり、重複した回答を受け取りました。誰かがなぜそれが起こっているのか説明できますか?