как вызвать NSStream синхронно - PullRequest
       19

как вызвать NSStream синхронно

4 голосов
/ 28 октября 2011

Как вызвать NSStream синхронно, чтобы получить результаты ??

В настоящее время я получаю асинхронный вызов в одном из его методов делегата

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

1 Ответ

7 голосов
/ 31 октября 2011

NSStream - это абстрактный класс, который не читает и не записывает данные в поток.Для фактического доступа к данным вам понадобится конкретный подкласс, такой как NSInputStream или NSOutputStream (или ваш собственный подкласс NSStream).Чтобы прочитать данные в NSInputStream, позвоните read:maxLength:.Вы, вероятно, захотите опросить поток, спросив его, доступны ли какие-либо новые данные, с помощью hasBytesAvailable.NSOutputStream имеет аналогичные write:maxLength: и hasSpaceAvailable методы.

Документация iOS настоятельно рекомендует вам избегать опроса и вместо этого использовать планирование цикла выполнения, отвечая на асинхронные методы делегата обратного вызова.*

...