Я новичок в ReactiveCocoa и пытаюсь понять, как я могу моделировать следующий пример, используя реактивные команды какао: я пытаюсь читать байты из потока, и это делается в функции «readStream ». Я хочу предотвратить дальнейшие вызовы readStream, пока не закончится первая партия чтения. Как показано, я использую флаг «чтения», который устанавливается при запуске чтения и сбрасывается при чтении. Я хотел бы избежать использования флага «чтение», может ли это быть лучше закодировано с использованием реактивного какао.Избегайте использования флагов для управления вызовом кода
- (void) stream:(NSStream *) aStream handleEvent:(NSStreamEvent)eventCode {
..
case NSStreamEventHasBytesAvailable:
if (!self.reading){
self.reading = YES; //
[self readStream]; // Reads bytes from the stream
}
break;
- (void) readStream {
// Read data
self.reading = NO;
}