/ / Come si ottiene l'intervallo di tempo per UIDatePicker in modalità UIDatePickerModeCountDownTimer? - i phone

Come si ottiene l'intervallo di tempo per UIDatePicker in modalità UIDatePickerModeCountDownTimer? - i phone

Ho un UIViewController con un UIDatePicker Proprietà datePicker. L'ho configurato in Interface Builder per avere un UIDatePicker in modalità "Timer" e per chiamarlo datePickerValueDidChange: metodo del controller di visualizzazione quando si verifica l'evento "Valore modificato". Il codice nel controller della vista è simile al seguente:

- (void) viewWillAppear:(BOOL)animated {
NSLog(@"datePicker: %@", datePicker);
NSLog(@"datePicker.datePickerMode: %d", datePicker.datePickerMode);
}

E quando la vista viene caricata, la vedi nel registro

datePicker: <UIDatePicker: 0x3b03660; frame = (0 61; 320 216); clipsToBounds = YES; opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x3b033a0>>
datePicker.datePickerMode: 3

Ciò significa che il selezionatore di date è inizializzato e la modalità è UIDatePickerModeCountDownTimer. Quando cambio il valore spostando una delle rotelle di scorrimento, chiama questo metodo:

- (IBAction) datePickerValueDidChange:(id)sender {
NSLog(@"datePicker.countDownDuration: %@", datePicker.countDownDuration);
}

E l'output nel registro è:

datePicker.countDownDuration: (null)

Perché è nulla? Non è questo il modo per ottenere il valore per le ore / minuti che l'utente ha selezionato? Altrimenti, come puoi ottenere quei valori?

risposte:

2 per risposta № 1

countDownDuration è un NSTimeInterval (in realtà un doppio). Per stamparlo, dovrai usare

NSLog(@"datePicker.countDownDuration: %f", datePicker.countDownDuration);