目前,当我打开一个 NSInputStream(例如)时,我可以将其设置为获取一个指示它已完全打开的事件。但如果失败,则根本没有任何事件。我从来没有被告知开幕未能完成。我可以在它试图打开时进行轮询,但是我必须在很长一段时间内占用一个线程。
我想做的是编写高效的代码来等待流打开或打开失败。有没有使用 NSStream 等的方法?
我还想创建一个可以等待一段时间的事件。如果连接成功,该事件将发出信号并将我弹出等待状态。如果发生超时,我可以测试状态并查看它是否失败或再次回到等待状态。但这当然是 B 计划,既不雄辩也不高效。并且查看 CocoaTouch 文档并不清楚如何创建这样一个我可以等待超时的信号。
任何帮助,将不胜感激。