当前当我打开一个NSInputStream(例如)我可以设置它来获取一个事件,指示它已完全打开。但如果失败了,根本就没有事件发生。我永远不会被告知开幕未能完成。我可以在试图打开时进行轮询,但是我必须在可能很长的一段时间内绑定一个线程。如何等待NSStream打开或失败?
我想要做的是编写高效的代码,等待流打开或无法打开。有没有使用NSStream等的方法?
我还想到创建一个可以等待一段时间的事件。如果连接成功,该事件将发出信号并使我脱离等待状态。如果发生超时,我可以测试状态并查看它是否失败或再次返回到等待状态。但是,这当然是B计划,而不是口才和效率。并且查看CocoaTouch文档并没有清楚地说明如何创建这样的信号,以便我可以等待超时。
任何帮助,将不胜感激。
你是对的。在发生错误事件之前,这只是一段很长的时间。我认为你的建议解决方案总的来说是我需要实现的。非常感谢您花时间回答这个问题并提出一个好的解决方案。 – user574771 2012-08-01 01:00:46