2016-03-20 10 views
0

Ich habe Schwierigkeiten beim Senden von Daten über MPC, funktioniert die Kommunikation zwischen den Geräten auf einem TextView gedruckt wird mein Bedürfnis ist in einer Tabellenansicht dargestellt werden, kann ich hinzufügen und entfernen Sie Objekte aus einer Tabellenansicht über MPC, weiß jemand, ob es möglich ist oder ob es nur die Impression der MPC in TextView ist.Empfangen von Daten über MPC in einem TableView - Objective C

Vielen Dank.

Ich danke Ihnen.

Ich werde meinen Code, der sendet und empfängt, im Stich lassen.

Daten senden

-(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]); 
} 

}

Daten empfangen

- (void) didReceiveDataWithNotification: (NSNotification *) Benachrichtigung {

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

}

Antwort

0

Die Multipeer-Konnektivität bietet nur eine Möglichkeit für die Kommunikation zwischen Geräten. Sie stellt keine Beschränkungen für die Art und Weise dar, wie kommunizierte Informationen dargestellt werden.

Sie können die empfangenen Daten in einer Tabelle anzeigen. Wenn Sie sich CoachKit ansehen, sehen Sie, dass es eine Beispielanwendung gibt, die genau das tut - sie zeigt Nachrichten an, die von einem anderen Gerät in einer Tabelle empfangen wurden.