title: Update Label Text with Timer Values
body: <p>I know there are a lot of answers out there about similar issues, but it seems all of them are don't fit to my problem. And I am new to Swift and my head is burning about all this stuff.</p>
  <p>The task is very simple. I have a <code>ViewController</code> and a Class called &quot;TimeIsTicking&quot;, which I defined in a separate <code>Swift</code> File. I did this, because I want to feed 5 <code>ViewController</code> (which are nested in <code>TabBarController</code>) with data from the <code>Timer</code> and they all have to run &quot;synchronized&quot;.</p>
  <p>The function <code>fireTimer</code> puts every second the value of 1 to the variable <code>seconds</code>.</p>
  <p>In the <code>ViewController</code> is a <code>Label</code> and I want the Label to be updated every time when the timer puts a new value to seconds.</p>
  <p><code>dayLabelText</code> gets the data, here is everything fine, but from that point I'm stuck. Label Text isn't been updated.</p>
  <p>I suspect, that there has to be a &quot;loop&quot; to reload the data for the Label and I thought the loop in <code>fireTimer</code> would be enough but I was obviously wrong.</p>
  <p>I tried the &quot;<code>Observer</code> Thing&quot; and the &quot;<code>Dispatchqueue</code> Thing&quot; but I didn't play well ((obviously).</p>
  <p>Help would be much appreciated.</p>
  <p>Here is the code of the timer class:</p>
  <pre><code>import Foundation
  import UIKit
  
  class TimeIsTicking {
      
      var seconds: Int = 0
      
      static let timeFlow = TimeIsTicking()
  
      func fireTimer() {
          let finance = FinanceVC()
          Timer.scheduledTimer(withTimeInterval: 1.0, repeats: true) { timer in
              self.seconds += 1
              finance.dayLabelText = &quot;\(self.seconds)&quot;
              print(&quot;Seconds: &quot;, self.seconds)
              print(&quot;LabelText: &quot;, finance.dayLabelText)   
          }
      }  
  }
  </code></pre>
  <p>And here is the code of the VieWController:</p>
  <pre><code>import UIKit
  
  class FinanceVC: UIViewController {
      
      @IBOutlet weak var dayLabel: UILabel!
      
      var dayLabelText = String(TimeIsTicking.timeFlow.seconds)
      
      override func viewDidLoad() {
          super.viewDidLoad()
          
          dayLabel.text = dayLabelText
  
          TimeIsTicking.timeFlow.fireTimer()
    
          }
          // Do any additional setup after loading the view.
  
  }
  </code></pre>