我终于使用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年以下哪个国家赢得了世界杯(足球)?”, 意大利, 法国, 葡萄牙, 意大利 )
正如你所见,我收到了重复的回答。有人可以解释一下为什么会这样吗?