[英]how to differentiate between NSString object converted into NSData and UIImage object converted into NSData
我正在开发一个应用程序,在该应用程序中,我将向对等方发送一个字符串(将其转换为NSData对象之后),并通过转换为NSData对象再次发送一个UIImage。
现在在接收端我有一个接收方法
- (void) receiveData:(NSData *)data
fromPeer:(NSString *)peer
inSession:(GKSession *)session
context:(void *)context
我的问题是,每当我发送任何数据时,都会调用相同的接收方法,并且必须以不同的方式使用图像和文本数据。
因此,我怎么知道接收到的数据是将NSString对象转换为NSData还是将UIImage数据转换为NSData。
请帮我。
看看苹果的GKRocket
示例代码,具体的实施sendData:ofType
和receiveData:fromPeer:inSession:context:
在SessionManager.m 。 您将需要定义一组特定于您的应用程序的“类型”,并在NSData
有效负载中将它们作为标头发送,然后在接收端读取标头以确定如何适当地处理有效载荷。
最简单的方法是在recieveData中定义另一个参数(ofType),以区分要发送的数据类型:
(void) receiveData:(NSData *)data ofType: (bool type) fromPeer:(NSString *)peer inSession: (GKSession *)session context:(void *)context
context
参数应该是发送的任意数据,以为发送的数据提供上下文或含义。
它可以是任何转换为数据的东西,甚至可以是复杂的对象。
在这种情况下,可以使用简单的布尔值。
以上是不正确的。 上下文由接收方设置,以区分多个会话或对等方。 -TechZen
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.