title: Is there a way to have a global variable between a SwiftUI view and classes indirectly related to it?
body: <p>I am working on a MacOS Swift project (with SwiftUI),  and I am having trouble with updating a text label as an event happens.  </p>
  
  <pre class="lang-swift prettyprint-override"><code>struct ContentView: View {
      @State var now = globalString.stringy
      var body: some View {
          VStack {
              Text(now)
              .frame(maxWidth: .infinity, maxHeight: .infinity)
          }.onAppear {
               k.start()
  
          }
  
      }
  
  }
  
  struct globalString {
      static var stringy = ""
      static var temperature = 0.0
  }
  </code></pre>
  
  <p>The variable <code>now</code> above refers a global variable in a struct that is being changed while the program is running (in a different class that is not referred to in this code), but the changes to the variable will not show up in the text label. </p>
  
  <p>How can I make a variable that is shared between this view and that class, while still having my view update when there is a change in the variable? The changes made to the variable are in a separate file.  </p>
  
  <p>I tried using an observable object and an environment object but neither seemed to work.</p>
  
  <p>If anyone could help, I would greatly appreciate it. Thanks!</p>