O valor do UIDate Picker alterado não atualiza a primeira rodada, mas cada rodada após .. iOS

Eu tenho um seletor de UIDate incorporado em um TableViewCell estático e, no momento, desabilitei a maior parte do código, exceto o código responsável pelo seletor de datas.

Estou usando o seletor de datas como um temporizador de contagem regressiva

Então isso é tudo, exceto algumas saídas e vars habituais:

override func viewDidLoad() {
    super.viewDidLoad()

    //  tfName.delegate = self
    //  tfDescription.delegate = self
    //

    datePicker.countDownDuration = 60

    //  pickerValueChanged(self)

}


@IBAction func pickerValueChanged(sender: AnyObject) {

     seconds  = Int(datePicker.countDownDuration)
     hours  = seconds / 3600
    if hours == 0{
        minutes = seconds / 60
    } else{
        minutes = seconds % 3600 / 60
    }
    labelDuration.text = "\(hours) hours \(minutes) minutes"
}

Na primeira vez que altero o valor do Picker, a função de alteração de valor não é acionada, mas as rotações ocorrem sem falha.

Eu tentei ligarviewDidLoadcompickerValueChanged(self) e isso funciona, mas não resolve o problema. Também comentei todas as linhas de código nopickerValueChanged função eviewDidLoad mas ainda não deu o primeiro giro ..

Obrigado pelo seu tempo!

Atualização: Imagens adicionadas

Após a primeira rodada, pickerValueChanged não é chamado:

A partir da segunda rodada, o evento é chamado e o rótulo é atualizado:

Tentou:

Executando:datePicker.setDate(NSDate(), animated: true noviewDidLoad() resolve o problema de o evento não ser chamado na primeira rodada, mas isso define o estado inicial do seletor de datas para a hora atual. Como estou usando esse controle para definir uma duração para um evento, desejo que ele comece às 0 horas e 1 minuto. Isso pode ser feito comdatePicker.countDownDuration = 60 mas depois disso, o principal problema volta novamente. Portanto, uma solução pode ser definir o DatePicker com um NSDate de 1 minuto, mas como fazer isso?

Solução:

var dateComp : NSDateComponents = NSDateComponents()
dateComp.hour = 0
dateComp.minute = 1
dateComp.timeZone = NSTimeZone.systemTimeZone()
var calendar : NSCalendar = NSCalendar(calendarIdentifier: NSGregorianCalendar)!
var date : NSDate = calendar.dateFromComponents(dateComp)!

datePicker.setDate(date, animated: true)

questionAnswers(8)

yourAnswerToTheQuestion