2016-03-20 3 views
0

Je suis confronté à des difficultés d'envoi de données via MPC, la communication fonctionne correctement entre les périphériques est en cours d'impression sur un TextView mon besoin doit être présenté dans une vue de table, je peux ajouter et supprimer des objets d'une vue de table via MPC, quelqu'un sait si c'est possible ou si c'est juste l'impression que le MPC est dans TextView.Recevoir des données via MPC dans un TableView - Objectif C

Merci.

Je vous remercie.

Je laisserai tomber mon code qui envoie et reçoit.

Envoyer des données

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

}

Recevoir les données

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

}

Répondre

0

La connectivité multipeer fournit simplement aux périphériques un moyen de communiquer: elle n'impose aucune restriction sur la manière dont les informations communiquées sont présentées.

Vous pouvez certainement afficher les données reçues dans un tableau. Si vous regardez CoachKit, vous verrez qu'il y a un exemple d'application qui fait exactement cela - il affiche les messages reçus d'un autre périphérique dans une table.