The Timer on WatchKit doesn't execute the lblTimer.setText(“\(currentTime)”) properly when it is there in the function called when the timer fires

The Timer on WatchKit doesn't execute the lblTimer.setText("(currentTime)") properly when it is there in the function called when the timer fires. What should I do to fix this problem? The label is just static and should be updated very often. Does the watchOS simulator have a bug?

Also, I tried the Timer from watckKit and that didn't work either.

Here's the sample code where the lblTimer.setText doesn't execute on the screen:


@objc func fire()
{
  print(countDown)
  if (countDown <= 0.0) {
  timer?.invalidate()
  speechSynthesizer?.speak(AVSpeechUtterance(string: "You ran out of time! Next question!"))
  countDown = 30.0
  lblTimer.setText("30.0")
  } else {
  countDown -= 0.01

  let numberOfPlaces = 2.0
  let multiplier: Float = Float(pow(10.0, numberOfPlaces))
  let num: Float = countDown
  let rounded = round(num * multiplier) / multiplier
  lblTimer.setText("Time: \(rounded)")
  print(rounded)
  }

}