繁体   English   中英

如何区分转换为NSData的NSString对象和转换为NSData的UIImage对象

[英]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:ofTypereceiveData: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参数应该是发送的任意数据,以为发送的数据提供上下文或含义。 它可以是任何转换为​​数据的东西,甚至可以是复杂的对象。

\n

在这种情况下,可以使用简单的布尔值。

以上是不正确的。 上下文由接收方设置,以区分多个会话或对等方。 -TechZen

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM