Я пытаюсь использовать @State SwiftUI на детской площадке.Вот мой код:
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
Я вижу кнопку в режиме реального времени.Но если я щелкну по нему, он не покажет текст.Второй щелчок показывает текст.Дальнейшие клики, кажется, не имеют никакого значения визуально.
При каждом клике я получаю следующее сообщение в области журнала:
=== AttributeGraph: cycle detected through attribute 38 ===
Нужна помощь, чтобы понять, что это значит в этом контекстеи почему состояние не ведет себя естественно.
Примечание: я использую MacOS Mojave, поэтому у меня нет опции предварительного просмотра SwiftUI.Я обожаю предварительный просмотр игровых площадок.