title: AttributeGraph: cycle detected through attribute using @State in playgrounds
body: <p>I'm trying to use SwiftUI's @State in playground. Here's my code:</p>
  
  <pre><code>import UIKit
  import PlaygroundSupport
  import SwiftUI
  
  struct ContentView: View {
      @State private var showGreeting = false
  
      var body: some View {
  
          Form {
              Button(action: {
                  self.showGreeting.toggle()
              }) {
                  Text("Toggle Greeting")
              }
  
              if showGreeting {
                  Text("Hello World!")
              }
          }
      }
  }
  
  let viewController = UIHostingController(rootView: ContentView())
  
  PlaygroundPage.current.liveView = viewController
  </code></pre>
  
  <p>I can see the button on the live view. But if I click it, it doesn't show the text. A second click does reveal the text. Further clicks don't seem to make any difference visually.</p>
  
  <p>On each click, I get the following message in log area:</p>
  
  <pre><code>=== AttributeGraph: cycle detected through attribute 38 ===
  </code></pre>
  
  <p>Need some help understanding what this means in this context and why the state is not behaving naturally.</p>
  
  <p>Note: I'm running macOS Mojave, so I don't have option of SwiftUI previews. I'm making do with live preview of playgrounds.</p>