title: RACSignal combineLatest using multiple UIControls
body: <p>I'm experimenting with <a href="https://github.com/ReactiveCocoa/ReactiveCocoa" rel="nofollow">Reactive Cocoa</a> and I'm having trouble combining signals from multiple UIControls. </p>
  
  <p>I am creating an editor for UIEdgeInsets and have four UISteppers, for the top, left, bottom and right insets. </p>
  
  <p>What I <em>want</em> to do is this:</p>
  
  <pre><code>RAC(self.insets) = [RACSignal combineLatest:@[
            [topStepper rac_signalForControlEvents:UIControlEventValueChanged],
            [leftStepper rac_signalForControlEvents:UIControlEventValueChanged],
            [bottomStepper rac_signalForControlEvents:UIControlEventValueChanged],
            [rightStepper rac_signalForControlEvents:UIControlEventValueChanged]
            ] reduce:^(UIStepper *top, UIStepper *left, UIStepper *bottom, UIStepper *right) {
                return [NSValue valueWithUIEdgeInsets:UIEdgeInsetsMake(top.value, left.value, bottom.value, right.value)];
            }];
  </code></pre>
  
  <p>However, this never results in the  signal being processed.</p>
  
  <p>If I only include one signal, like this: </p>
  
  <pre><code>RAC(self.insets) = [RACSignal combineLatest:@[
      [topStepper rac_signalForControlEvents:UIControlEventValueChanged]]
      reduce:^(UIStepper *top) {
          return [NSValue valueWithUIEdgeInsets:UIEdgeInsetsMake(top.value, 0.0,0.0,0.0)];
      }];
  </code></pre>
  
  <p>It works as expected (observing any of the other steppers individually works fine as well) but for multiple controls, I get nothing. I can work around by observing each control as a separate signal, but that seems to miss the point of the <code>combineLatest</code> method. Am I doing something wrong, or should I be raising an issue on the RAC project? </p>