避免使用标志来控制代码的调用

时间:2014-12-20 01:22:11

标签: ios reactive-cocoa

我是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;
  }   

1 个答案:

答案 0 :(得分:0)

RACCommands启用按钮,直到返回的信号完成,我不确定您的代码的上下文,如果它位于较低级别的全局单例组件中,您仍需要保留该标志。