title: Get selected row of UIDatePicker while spinning
body: <p>I have a <code>UIDatePicker</code> in a view whose controller is in a <code>UINavigationController</code>. I'm registering changes in the selected date like this:</p>
  
  <pre><code>[self.datePicker addTarget:self.alarm action:@selector(timeChanged:) forControlEvents:UIControlEventValueChanged];
  </code></pre>
  
  <p>It works well, except if the user presses the back button in the <code>UINavigationController</code> before the date picker has completely settled. In that case, the <code>timeChanged:</code> method isn't being called, and so I'm not getting the new date.</p>
  
  <p>Nothing is being released when I press the back button, it's just that the view controller is being popped off. (A reference to it is maintained).</p>
  
  <p>I've found solutions to this problem with <code>UIPickerView</code> that involve implementing delegate methods for the picker view (eg: <a href="https://stackoverflow.com/questions/1510998/uipickerview-get-row-value-while-spinning">UIPickerView: Get row value while spinning?</a>). But unless I'm very mistaken, that's not an option with a <code>UIDatePicker</code>. If possible, I'd like to stick with the <code>UIDatePicker</code> rather than a custom <code>UIPickerView</code>. Is there a way to do this? It doesn't have to get the selected row perfectly (within a row or two is fine), but the closer the better.</p>
  
  <p>EDIT: This is for a jailbreak app, so private APIs are fine, if I can figure out what they are.</p>