如何同步调用NSStream

时间:2011-10-28 09:46:51

标签: iphone objective-c asynchronous ftp nsstream

如何同步调用NSStream以获得结果?

目前我正在其代理方法之一中获得异步回调

 `(void)stream:(NSStream *)theStream handleEvent:(NSStreamEvent)streamEvent`- 

1 个答案:

答案 0 :(得分:7)

NSStream是一个抽象类,既不会读取数据也不会将数据写入流中。要实际访问数据,您需要一个具体的子类,例如NSInputStreamNSOutputStream(或NSStream的自定义子类)。要在NSInputStream来电read:maxLength:中阅读数据。您可能希望使用hasBytesAvailable轮询流,询问是否有任何新数据可用。 NSOutputStream具有类似的write:maxLength:hasSpaceAvailable方法。

iOS文档强烈建议您避免轮询,并通过响应异步回调委托方法来使用运行循环调度。