我在通过 MPC 发送数据时遇到困难,设备之间的通信正常工作正在 TextView 上打印,我需要以表格视图呈现,我可以通过 MPC 在表格视图中添加和删除对象,有谁知道这是否可能,或者它只是 MPC 在 TextView 中的印象。
谢谢。
我谢谢你。
我会放下发送和接收的代码。
发送数据
-(void) inputIDTransporte {
//testando IDController
IDController * idC = [[IDController alloc] init];
[idC loadIdInput:_textView.text];
//mudando mensagem de saida
[idC.idValues replaceObjectAtIndex:9 withObject:_textField.text];
[idC generateIDOutputByComponentsScheme];
NSLog(@"idValues:%@", idC.idValues);
NSLog(@"idOutput:%@", idC.idOutput);
NSLog(@"index9: %@",idC.idValues[9]);
NSString* str= [idC.idValues objectAtIndex:9];
NSData* dataToSend=[str dataUsingEncoding:NSUTF8StringEncoding];
NSArray *allPeers = _appDelegate.mcManager.session.connectedPeers;
NSError *error;
[_appDelegate.mcManager.session sendData:dataToSend
toPeers:allPeers
withMode:MCSessionSendDataReliable
error:&error];
[idC.componentsScheme setValue:str forKey:@"name"];
[self.tableView reloadData];
if (error) {
NSLog(@"%@", [error localizedDescription]);
}
}
接收数据
-(void)didReceiveDataWithNotification:(NSNotification *)notification{
MCPeerID *peerID = [[notification userInfo] objectForKey:@"peerID"];
NSString *peerDisplayName = peerID.displayName;
NSData *receivedData = [[notification userInfo] objectForKey:@"data"];
NSString *receivedText = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding];
[_tvChat performSelectorOnMainThread:@selector(setText:) withObject:[_tvChat.text stringByAppendingString:[NSString stringWithFormat:@"%@n", receivedText]] waitUntilDone:NO];
[_tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];
}
多对等连接仅为设备提供了一种通信方式 - 它对通信信息的呈现方式没有任何限制。
您当然可以在表中显示接收的数据。如果您查看 CoachKit,您会看到有一个示例应用程序可以做到这一点 - 它在表格中显示从另一台设备接收的消息。