當前當我打開一個NSInputStream(例如)我可以設置它來獲取一個事件,指示它已完全打開。但如果失敗了,根本就沒有事件發生。我永遠不會被告知開幕未能完成。我可以在試圖打開時進行輪詢,但是我必須在可能很長的一段時間內綁定一個線程。如何等待NSStream打開或失敗?
我想要做的是編寫高效的代碼,等待流打開或無法打開。有沒有使用NSStream等的方法?
我還想到創建一個可以等待一段時間的事件。如果連接成功,該事件將發出信號並使我脫離等待狀態。如果發生超時,我可以測試狀態並查看它是否失敗或再次返回到等待狀態。但是,這當然是B計劃,而不是口才和效率。並且查看CocoaTouch文檔並沒有清楚地說明如何創建這樣的信號,以便我可以等待超時。
任何幫助,將不勝感激。
你是對的。在發生錯誤事件之前,這只是一段很長的時間。我認爲你的建議解決方案總的來說是我需要實現的。非常感謝您花時間回答這個問題並提出一個好的解決方案。 – user574771 2012-08-01 01:00:46