我使用Multipeer Connectivity Framework
正确发送文本,但我可以发送其他数据
- 发送文字:
NSData *dataToSend = [_txtMessage.text dataUsingEncoding:NSUTF8StringEncoding];
NSArray *allPeers = _appDelegate.mcManager.session.connectedPeers;
NSError *error;
[_appDelegate.mcManager.session sendData:dataToSend
toPeers:allPeers
withMode:MCSessionSendDataReliable
error:&error];
if (error) {
NSLog(@"%@", [error localizedDescription]);
}
[_txtMessage setText:@""];
[_txtMessage resignFirstResponder];
- 接收文字:
-(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];
}
NSMutableArray *arraySongs;
但是如何发送和接收数组?
抱歉我的英文不好
从评论中添加格式和连续性:
MPMediaQuery *everything = [[MPMediaQuery alloc] init];
NSLog(@"Logging items from a generic query...");
NSArray *itemsFromGenericQuery = [everything items];
for (MPMediaItem *song in itemsFromGenericQuery) {
NSString *songTitle = [song valueForProperty: MPMediaItemPropertyTitle];
NSString *artist = [song valueForProperty:MPMediaItemPropertyArtist];
long totalPlaybackTime = [[song valueForProperty: MPMediaItemPropertyPlaybackDuration] longValue];
[arraySongs addObject:song];
}
type array
MPMediaQuery * todo = [[alloc MPMediaQuery] init];
NSLog(@“elementos de registro de unaconsultagenérica...”); NSArray * itemsFromGenericQuery = [Elementos de muebles]; for(MPMediaItem *canciónenitemsFromGenericQuery) {NSString * songtitle = [cancióvalueForProperty:MPMediaItemPropertyTitle]; NSString * artista = [cancióvalueForProperty:MPMediaItemPropertyArtist]; largo totalPlaybackTime = [[cancióvalueForProperty:MPMediaItemPropertyPlaybackDuration] longValue]; [ArraySongs addObject:song]; }
答案 0 :(得分:0)
您可以使用NSArray
将dataWithJSONObject:options:error:
序列化为JSON数据
发送数据
使用NSArray
恢复为JSONObjectWithData:options:error:
。
这假设JSON序列化支持NSArray
的所有组件。
对于具有更复杂对象的数组,使用NSArchiver
并将NSCoding
的支持添加到尚未实现该协议的任何对象。
MPMediaItem
符合NSCoding,因此您可以使用NSArchiver
JSON
进行序列化。