如何同步調用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