通过MultipeerConnectivity将图像和文本一起发送给其他对等体

时间:2014-04-16 20:47:02

标签: ios objective-c multipeer-connectivity

我正在使用Apple MultipeerConnectivity 框架,我可以将消息发送给与其连接的所有对等方。

我正在使用:

- (BOOL)sendData:(NSData *)data toPeers:(NSArray *)peerIDs withMode:(MCSessionSendDataMode)mode error:(NSError **)error;

我甚至可以通过NSData转换图片来发送图片。

问题是我正在尝试将图像和文本一起发送给其他同行。我知道有三种方法可以将信息发送给其他同行:

1。 NSData

2。 Resource

3。 Stream

那么将图像和文本一起发送到哪个方法以及如何使用?

由于

1 个答案:

答案 0 :(得分:2)

您可以将NSData用于您的任务。这是一个例子:
序列化为NSData:

NSString *string = @"Any String";
UIImage *image = [UIImage imageNamed:@"Any Image"];
NSData *imageData = UIImagePNGRepresentation(image);
NSDictionary *dictionary = @{@"string":string, @"imageData":imageData};
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:dictionary];
// Send |data| by MultipeerConnectivity

反序列化为NSString和UIImage:

// Receive |data| by MultipeerConnectivity
NSDictionary *dictionary = [NSKeyedUnarchiver unarchiveObjectWithData:data];
NSString *string = dictionary[@"string"];
NSData *imageData = dictionary[@"imageData"];
UIImage *image = [UIImage imageWithData:imageData scale:[UIScreen mainScreen].scale];