知道NSStream中的数据已完成

时间:2014-12-03 18:13:13

标签: ios cocoa-touch nsdata nsstream transmission

我正在UIImage发送MCSessionNSStream数据,其中包含- (void)stream:(NSStream *)aStream handleEvent:(NSStreamEvent)eventCode { if (eventCode == NSStreamEventHasBytesAvailable) { // read data and append to self.data // how to know that self.data can be used to create UIImage } }

当我得到字节时

-[UIImage initWithData:]

我将它们附加到可变数据实例。问题是如何知道累积的数据代表一个完整的图像,所以我可以使用{{1}}来创建它?

2 个答案:

答案 0 :(得分:1)

您应该关注NSStreamEventEndEncountered

答案 1 :(得分:1)

流不了解其内容。如果您不能依赖流结束来告诉您数据已完成,那么您需要使用/创建一些包含“已完成”信号的传输协议,或者只是尝试创建图像并采取适当的措施如果失败则采取行动。