DatePicker в режиме таймера — как получить значение

Я пытаюсь получить средство выбора даты в режиме обратного отсчета, чтобы просто позволить мне выбирать минуты и секунды, а затем получать это значение при нажатии кнопки. Я настроил средство выбора в IB и использую этот код, но результат всегда равен нулю, когда я выбираю любую комбинацию минут и часов и нажимаю кнопку... Очевидно, я что-то упускаю. Любая помощь в том, чтобы заставить это работать, будет оценена по достоинству.

@interface ThisPicker : UIViewController {

IBOutlet UIDatePicker *datePicker;

}

-(IBAction)buttonPressed:(id)sender;

@end

@implementation ThisPicker

-(IBAction)buttonPressed:(id)sender{

    datePicker = [[UIDatePicker alloc] init];
    datePicker.datePickerMode = UIDatePickerModeCountDownTimer;

    NSLog(@"%@",[datePicker countDownDuration]);

  }

  @end

person Allen    schedule 13.12.2010    source источник


Ответы (2)


Если вы хотите в формате час-минута

-(IBAction)buttonPressed:(id)sender
  {


    NSDateFormatter *dateformatter = [[NSDateFormatter alloc] init];
    [dateformatter setDateFormat:@"HH:mm:ss"];
    NSLog(@"%@",[dateformatter stringFromDate:[datePicker date]]);

  }
person ipraba    schedule 13.12.2010
comment
Спасибо, но получается 00:00:00, так что должно быть что-то еще - person Allen; 13.12.2010
comment
Вы сказали, что настраиваете сборщик в IB. Так зачем выделять. удалите эти строки datePicker = [[UIDatePicker alloc] init]; datePicker.datePickerMode = UIDatePickerModeCountDownTimer; в IB установите режим выбора на таймер. - person ipraba; 13.12.2010
comment
правильно... это помогает решить проблему... спасибо (моя путаница с IB и программированием :) - person Allen; 13.12.2010

Я считаю, что countDownDuration является двойником.

Попробуйте получить к нему доступ следующим образом:

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

Редактировать: вам нужно связать средство выбора даты в IB с элементом в коде и не выделять его, так как это приведет к удалению ваших данных.

Edit2: BuildSucceeded опередил меня. :)

person sudo rm -rf    schedule 13.12.2010
comment
Это приводит к 0,00000, когда я выбираю 10 минут ... так что проблема, похоже, не в форматировании числа ... спасибо. - person Allen; 13.12.2010