如何同步调用NSStream以获取结果?如何同步调用NSStream
目前我公司在其委托方法
`(void)stream:(NSStream *)theStream handleEvent:(NSStreamEvent)streamEvent`-
如何同步调用NSStream以获取结果?如何同步调用NSStream
目前我公司在其委托方法
`(void)stream:(NSStream *)theStream handleEvent:(NSStreamEvent)streamEvent`-
的NSStream
一个得到一个异步回调是一个抽象类,无论是读取或向流写入数据。要实际访问数据,您需要一个具体的子类,如NSInputStream
或NSOutputStream
(或您的自定义子类NSStream
)。要读取NSInputStream
调用read:maxLength:
中的数据。您可能需要轮询流,询问是否有新数据可用,请致电hasBytesAvailable
。一个NSOutputStream类似于write:maxLength:
和hasSpaceAvailable
方法。
您受到iOS文档的高度鼓励以避免轮询,并使用运行循环调度来代替通过响应异步回调委托方法。
如果您在单独的线程中运行,则不需要轮询。您只能从输入流中读取数据,它将阻塞,直到数据可用/数据流关闭/发生错误。响应模拟posix行为,其中0表示流关闭,-1表示发生错误。正数表示从流中读取的实际字节数。 – JugsteR
为什么你想要同步获取流数据? – TheEye