title: custom UIPickerView - limit user to spinning one wheel at a time
body: <p>I have a custom <code>UIPickerView</code> with three components that are dependent on one another (i.e., the second one shows values depending on what has been selected in the first one and the third is dependent on the first and second). I am getting the values that are shown in the <code>UIPickerView</code> out of an <code>NSDictionary</code>.</p>
  
  <p>Everything works nicely, except, when I spin two of the components at the same time, the app sometimes crashes (no time to reload data).  This is what my <code>pickerView:didSelectRow:inComponent</code> looks like:</p>
  
  <pre><code>- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component 
  {
      NSLog(@"Selecting row %d component %d", row, component);
  
      // When A is changed, we need to reload B and C
      if (component == 0) {
  
          [pickerView reloadComponent:1];
          [pickerView selectRow:0 inComponent:1 animated:YES];
  
          // need to reload the C after reloading B
          [self pickerView:pickerView didSelectRow:0 inComponent:1];
  
      }
      else if (component == 1) {
          [pickerView reloadComponent:2];
          [pickerView selectRow:0 inComponent:2 animated:YES];
      }
      [self updateSelection];
  }
  </code></pre>
  
  <p>Is there a way to prevent the user from spinning more than one component of the picker at a time to prevent a crash?</p>
  
  <p>Thanks!</p>